1
16
17 package org.springframework.cloud.aws.messaging.config.annotation;
18
19 import com.amazonaws.auth.AWSCredentialsProvider;
20 import com.amazonaws.services.sns.AmazonSNS;
21 import com.amazonaws.services.sns.AmazonSNSClient;
22
23 import org.springframework.beans.factory.annotation.Autowired;
24 import org.springframework.cloud.aws.context.annotation.ConditionalOnMissingAmazonClient;
25 import org.springframework.cloud.aws.core.config.AmazonWebserviceClientFactoryBean;
26 import org.springframework.cloud.aws.core.region.RegionProvider;
27 import org.springframework.context.annotation.Bean;
28 import org.springframework.context.annotation.Configuration;
29
30
35 @Configuration(proxyBeanMethods = false)
36 public class SnsConfiguration {
37
38 @Autowired(required = false)
39 private AWSCredentialsProvider awsCredentialsProvider;
40
41 @Autowired(required = false)
42 private RegionProvider regionProvider;
43
44 @ConditionalOnMissingAmazonClient(AmazonSNS.class)
45 @Bean
46 public AmazonWebserviceClientFactoryBean<AmazonSNSClient> amazonSNS() {
47 return new AmazonWebserviceClientFactoryBean<>(AmazonSNSClient.class,
48 this.awsCredentialsProvider, this.regionProvider);
49 }
50
51 }
52