in src/main/java/com/googlesource/gerrit/plugins/kinesis/Module.java [66:91]
protected void configure() {
factory(KinesisRecordProcessor.Factory.class);
factory(KinesisRecordProcessorFactory.Factory.class);
bind(ExecutorService.class)
.annotatedWith(ConsumerExecutor.class)
.toProvider(ConsumerExecutorProvider.class)
.in(SINGLETON);
bind(ExecutorService.class)
.annotatedWith(ProducerCallbackExecutor.class)
.toProvider(ProducerCallbackExecutorProvider.class)
.in(SINGLETON);
bind(KinesisProducer.class).toProvider(KinesisProducerProvider.class).in(Scopes.SINGLETON);
bind(KinesisAsyncClient.class).toProvider(KinesisAsyncClientProvider.class).in(SINGLETON);
bind(DynamoDbAsyncClient.class).toProvider(DynamoDbAsyncClientProvider.class).in(SINGLETON);
bind(CloudWatchAsyncClient.class).toProvider(CloudWatchAsyncClientProvider.class).in(SINGLETON);
bind(AwsRegionProviderChain.class).toInstance(new DefaultAwsRegionProviderChain());
factory(SchedulerProvider.Factory.class);
bind(new TypeLiteral<Set<TopicSubscriber>>() {}).toInstance(activeConsumers);
DynamicItem.bind(binder(), BrokerApi.class).to(KinesisBrokerApi.class).in(Scopes.SINGLETON);
DynamicSet.bind(binder(), LifecycleListener.class).to(KinesisBrokerLifeCycleManager.class);
factory(KinesisConsumer.Factory.class);
if (configuration.isSendStreamEvents()) {
DynamicSet.bind(binder(), EventListener.class).to(KinesisPublisher.class);
}
listener().to(AWSLogLevelListener.class);
}