Class KinesisBinderConfiguration

java.lang.Object
io.awspring.cloud.kinesis.stream.binder.config.KinesisBinderConfiguration

@AutoConfiguration @AutoConfigureAfter({CredentialsProviderAutoConfiguration.class,RegionProviderAutoConfiguration.class}) @ConditionalOnMissingBean(org.springframework.cloud.stream.binder.Binder.class) @EnableConfigurationProperties({KinesisBinderConfigurationProperties.class,KinesisExtendedBindingProperties.class,KinesisProperties.class,DynamoDbProperties.class,DynamoDbStreamsProperties.class,CloudWatchProperties.class}) public class KinesisBinderConfiguration extends Object
The auto-configuration for AWS components and Spring Cloud Stream Kinesis Binder.
Since:
4.0
Author:
Peter Oates, Artem Bilan, Arnaud Lecollaire, Asiel Caballero
  • Constructor Details

    • KinesisBinderConfiguration

      public KinesisBinderConfiguration(KinesisBinderConfigurationProperties configurationProperties, software.amazon.awssdk.auth.credentials.AwsCredentialsProvider awsCredentialsProvider, software.amazon.awssdk.regions.providers.AwsRegionProvider regionProvider, AwsClientBuilderConfigurer awsClientBuilderConfigurer, List<org.springframework.cloud.stream.binding.Bindable> bindables)
  • Method Details

    • amazonKinesis

      @Bean @ConditionalOnMissingBean public software.amazon.awssdk.services.kinesis.KinesisAsyncClient amazonKinesis(KinesisProperties properties, ObjectProvider<AwsClientCustomizer<software.amazon.awssdk.services.kinesis.KinesisAsyncClientBuilder>> configurer)
    • provisioningProvider

      @Bean public KinesisStreamProvisioner provisioningProvider(software.amazon.awssdk.services.kinesis.KinesisAsyncClient amazonKinesis)
    • dynamoDB

      @Bean @ConditionalOnMissingBean public software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient dynamoDB(DynamoDbProperties properties, ObjectProvider<AwsClientCustomizer<software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClientBuilder>> configurer)
    • dynamoDbLockRepository

      @Bean @ConditionalOnMissingBean(org.springframework.integration.support.locks.LockRegistry.class) @ConditionalOnBean(software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient.class) @ConditionalOnProperty(name="spring.cloud.stream.kinesis.binder.kpl-kcl-enabled", havingValue="false", matchIfMissing=true) public DynamoDbLockRepository dynamoDbLockRepository(@Autowired(required=false) software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient dynamoDB)
    • dynamoDBLockRegistry

      @Bean @ConditionalOnMissingBean @ConditionalOnBean(software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient.class) @ConditionalOnProperty(name="spring.cloud.stream.kinesis.binder.kpl-kcl-enabled", havingValue="false", matchIfMissing=true) public org.springframework.integration.support.locks.LockRegistry<?> dynamoDBLockRegistry(@Autowired(required=false) DynamoDbLockRepository dynamoDbLockRepository)
    • kinesisCheckpointStore

      @Bean @ConditionalOnMissingBean @ConditionalOnBean(software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient.class) @ConditionalOnProperty(name="spring.cloud.stream.kinesis.binder.kpl-kcl-enabled", havingValue="false", matchIfMissing=true) public org.springframework.integration.metadata.ConcurrentMetadataStore kinesisCheckpointStore(@Autowired(required=false) software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient dynamoDB)
    • cloudWatch

      @Bean @ConditionalOnMissingBean @ConditionalOnProperty(name="spring.cloud.stream.kinesis.binder.kpl-kcl-enabled") public software.amazon.awssdk.services.cloudwatch.CloudWatchAsyncClient cloudWatch(CloudWatchProperties properties, ObjectProvider<AwsClientCustomizer<software.amazon.awssdk.services.cloudwatch.CloudWatchAsyncClientBuilder>> configurer)
    • kinesisProducerConfiguration

      @Bean @ConditionalOnMissingBean @ConditionalOnProperty(name="spring.cloud.stream.kinesis.binder.kpl-kcl-enabled") public software.amazon.kinesis.producer.KinesisProducerConfiguration kinesisProducerConfiguration()
    • dynamoDBStreams

      @Bean @ConditionalOnMissingBean public software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient dynamoDBStreams(DynamoDbStreamsProperties properties, ObjectProvider<AwsClientCustomizer<software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClientBuilder>> configurer)
    • kinesisMessageChannelBinder

      @Bean public KinesisMessageChannelBinder kinesisMessageChannelBinder(KinesisStreamProvisioner provisioningProvider, software.amazon.awssdk.services.kinesis.KinesisAsyncClient amazonKinesis, KinesisExtendedBindingProperties kinesisExtendedBindingProperties, @Autowired(required=false) org.springframework.integration.metadata.ConcurrentMetadataStore kinesisCheckpointStore, @Autowired(required=false) org.springframework.integration.support.locks.LockRegistry<?> lockRegistry, @Autowired(required=false) software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient dynamoDBClient, @Autowired(required=false) software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient dynamoDBStreams, @Autowired(required=false) software.amazon.awssdk.services.cloudwatch.CloudWatchAsyncClient cloudWatchClient, @Autowired(required=false) software.amazon.kinesis.producer.KinesisProducerConfiguration kinesisProducerConfiguration, @Autowired(required=false) org.springframework.cloud.stream.config.ProducerMessageHandlerCustomizer<? extends org.springframework.integration.handler.AbstractMessageProducingHandler> producerMessageHandlerCustomizer, @Autowired(required=false) org.springframework.cloud.stream.config.ConsumerEndpointCustomizer<? extends org.springframework.integration.endpoint.MessageProducerSupport> consumerEndpointCustomizer, @Autowired io.micrometer.observation.ObservationRegistry observationRegistry)