Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services SQSlistener未接收消息_Amazon Web Services_Spring Boot_Amazon Sqs_Spring Cloud Aws - Fatal编程技术网

Amazon web services SQSlistener未接收消息

Amazon web services SQSlistener未接收消息,amazon-web-services,spring-boot,amazon-sqs,spring-cloud-aws,Amazon Web Services,Spring Boot,Amazon Sqs,Spring Cloud Aws,我可以从springboot向SQS队列发送消息,但无法使用sqslistener注释接收消息,有人能帮忙吗 public void send(String message) { queueMessagingTemplate.convertAndSend("test-queue", MessageBuilder.withPayload(message).build()); } @SqsListener(value = "test-queue", deletionPolicy = S

我可以从springboot向SQS队列发送消息,但无法使用sqslistener注释接收消息,有人能帮忙吗

public void send(String message) {


    queueMessagingTemplate.convertAndSend("test-queue", MessageBuilder.withPayload(message).build());
}

@SqsListener(value = "test-queue", deletionPolicy = SqsMessageDeletionPolicy.NEVER)
public void receive(String message)
{
    System.out.println("message: " + message);
}
我已经通过goign验证了发送到AWS控制台,我可以在队列中看到我的消息,但它们并没有到达接收方法。 配置:


原来我在SQS控制台的队列名称中有一个输入错误,我的代码是my bad。

在我的情况下,指定了错误的区域。出于某种原因,sending没有抱怨&将消息推送到队列,但侦听器没有被调用。修复application.yml文件中的区域解决了这个问题。

对于任何人来说,“不工作”都不足以帮助您。你打开调试日志了吗?你看到了什么?嗨,这是奇怪的部分,没有错误,一旦我发送消息,没有任何打印内容,消息就会进入队列,而听众根本没有收到消息!
@Bean
public AmazonSQSAsyncClient amazonSQSAsyncClient()
{

    AmazonSQSAsyncClient amazonSQSAsyncClient= new AmazonSQSAsyncClient(amazonAWSCredentials());

    if (!StringUtils.isEmpty(amazonSqsEndpoint)) {
        amazonSQSAsyncClient.setEndpoint(amazonSqsEndpoint);

    }

}

@Bean
public SimpleMessageListenerContainerFactory simpleMessageListenerContainerFactory() {
    SimpleMessageListenerContainerFactory msgListenerContainerFactory = new SimpleMessageListenerContainerFactory();
    msgListenerContainerFactory.setAmazonSqs(amazonSQSAsyncClient());
    return msgListenerContainerFactory;
}

@Bean
public QueueMessagingTemplate queueMessagingTemplate(AmazonSQSAsync amazonSqs) {
    return new QueueMessagingTemplate(amazonSQSAsyncClient());
}

@Bean
public BasicAWSCredentials amazonAWSCredentials() {
    return new BasicAWSCredentials(amazonAWSAccessKey, amazonAWSSecretKey);
}