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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class -
Constructor Summary
ConstructorsConstructorDescriptionKinesisBinderConfiguration(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 Summary
Modifier and TypeMethodDescriptionsoftware.amazon.awssdk.services.kinesis.KinesisAsyncClientamazonKinesis(KinesisProperties properties, ObjectProvider<AwsClientCustomizer<software.amazon.awssdk.services.kinesis.KinesisAsyncClientBuilder>> configurer) software.amazon.awssdk.services.cloudwatch.CloudWatchAsyncClientcloudWatch(CloudWatchProperties properties, ObjectProvider<AwsClientCustomizer<software.amazon.awssdk.services.cloudwatch.CloudWatchAsyncClientBuilder>> configurer) software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClientdynamoDB(DynamoDbProperties properties, ObjectProvider<AwsClientCustomizer<software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClientBuilder>> configurer) org.springframework.integration.support.locks.LockRegistry<?> dynamoDBLockRegistry(DynamoDbLockRepository dynamoDbLockRepository) dynamoDbLockRepository(software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient dynamoDB) software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClientdynamoDBStreams(DynamoDbStreamsProperties properties, ObjectProvider<AwsClientCustomizer<software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClientBuilder>> configurer) org.springframework.integration.metadata.ConcurrentMetadataStorekinesisCheckpointStore(software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient dynamoDB) kinesisMessageChannelBinder(KinesisStreamProvisioner provisioningProvider, software.amazon.awssdk.services.kinesis.KinesisAsyncClient amazonKinesis, KinesisExtendedBindingProperties kinesisExtendedBindingProperties, org.springframework.integration.metadata.ConcurrentMetadataStore kinesisCheckpointStore, org.springframework.integration.support.locks.LockRegistry<?> lockRegistry, software.amazon.awssdk.services.dynamodb.DynamoDbAsyncClient dynamoDBClient, software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsClient dynamoDBStreams, software.amazon.awssdk.services.cloudwatch.CloudWatchAsyncClient cloudWatchClient, software.amazon.kinesis.producer.KinesisProducerConfiguration kinesisProducerConfiguration, org.springframework.cloud.stream.config.ProducerMessageHandlerCustomizer<? extends org.springframework.integration.handler.AbstractMessageProducingHandler> producerMessageHandlerCustomizer, org.springframework.cloud.stream.config.ConsumerEndpointCustomizer<? extends org.springframework.integration.endpoint.MessageProducerSupport> consumerEndpointCustomizer, io.micrometer.observation.ObservationRegistry observationRegistry) software.amazon.kinesis.producer.KinesisProducerConfigurationprovisioningProvider(software.amazon.awssdk.services.kinesis.KinesisAsyncClient amazonKinesis)
-
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)
-