protected void configure()

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);
  }