Quick scala translation of KCL example.
Quick scala translation of KCL example.
Assumes we are mostly interested in specifying a record processing function, running with some number of retries and sharing some required shutdown behavior.
All parameters except for processRecords have defaults.
how often to save checkpoint to dynamodb
how many times to retry operation on exception before giving up
(ShardId) => Unit : additional code to execute when handler is initialized
(ShardId, Checkpointer, ShutdownReason) => Unit : additional code to execute on shutdown
the initial failed operation retry delay value, defaults to 10 seconds
the maximum failed operation retry delay value, defaults to 3 minutes
(ShardId, Records, Checkpointer) => Unit : Kinesis record handler
Constructs IRecordProcessorFactory.
See https://github.com/aws/aws-sdk-java/blob/master/src/samples/AmazonKinesisApplication/SampleKinesisApplication.java http://docs.aws.amazon.com/kinesis/latest/dev/kinesis-record-processor-implementation-app-java.html
N.B. This only constructs IRecordProcessorFactory, if you want higher level entry point take a look at KCLWorkerRunner.