package net.lenards.kinesis.types;
import net.lenards.kinesis.KinesisCheckpointState;
import org.apache.spark.streaming.Duration;
import com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessor;
import com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessorFactory;
public class EventRecordProcessorFactory implements IRecordProcessorFactory {
private JKinesisReceiver receiver;
private String workerId;
private Duration checkpointInterval;
public EventRecordProcessorFactory(JKinesisReceiver receiver,
String workerId, Duration chkpt) {
this.receiver = receiver;
this.workerId = workerId;
this.checkpointInterval = chkpt;
}
@Override
public IRecordProcessor createProcessor() {
return new EventRecordProcessor(receiver, workerId,
new KinesisCheckpointState(checkpointInterval));
}
}