[英]SqsListener doesn't pick up any messages from SQS Queue
我正在尝试通过 SQS 为我的项目实现一个队列,发送到队列工作得很好,但从队列接收根本不起作用。 似乎接收者完全没有连接到队列
配置
@Configuration
public class SQSConfig
{
@Value("${cloud.aws.credentials.access-key}")
private String access;
@Value("${cloud.aws.credentials.secret-key}")
private String secret;
@Value("${cloud.aws.region.static}")
private String region;
@Bean
public QueueMessagingTemplate queueMessagingTemplate(AmazonSQSAsync amazonSQSAsync) {
return new QueueMessagingTemplate(amazonSQSAsync);
}
@Bean
public AmazonSQSAsync amazonSQSAsync() {
BasicAWSCredentials creds = new BasicAWSCredentials(access,secret);
return AmazonSQSAsyncClientBuilder
.standard()
.withRegion(region)
.withCredentials(new AWSStaticCredentialsProvider(creds))
.build();
}
}
消费者方法
@SqsListener(value = "AcheevGameQueue", deletionPolicy = SqsMessageDeletionPolicy.ON_SUCCESS)
public void receive(String message) {
System.out.println("Received Message: " + message);
}
Maven 依赖关系
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-starter</artifactId>
<version>3.0.0-M1</version>
</dependency>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-messaging</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>aws-core</artifactId>
<version>2.17.251</version>
</dependency>
我已经浏览了许多关于该主题的 StackOverflow 帖子,但还没有找到解决方案。 我希望有人可以帮助我。
原来是入门库的版本。 SQS 没有在 3.x 版本中完全实现,所以我不得不恢复 AWS Starter 以匹配 2.4.2 中的另一个。 菜鸟失误
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.