繁体   English   中英

SqsListener 不会从 SQS 队列中获取任何消息

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM