spring aws:未收到sqs消息

问题描述 投票:0回答:1

这是我的简单代码:

@Component
@Slf4j
@RequiredArgsConstructor
public class SQSEventsService {

    private static final String MESSENGER_QUEUE = "messengerQueue";

    private final SqsTemplate template;

    @SqsListener(MESSENGER_QUEUE)
    public void listen(String message) {
        log.debug("Message received");
        log.trace("Message received: {}", message);
    }

    @Scheduled(fixedDelay = 1000)
    public void publish() {
        log.debug("Sending message");
        this.template.send(MESSENGER_QUEUE, "payload string");
        log.debug("Message sent");
    }
}

我的服务正在运行,但我不太明白为什么我没有收到消息。

这是我的队列:

$ aws sqs list-queue --profile localstack --region us-east-1

{
  "QueueUrls": [
    "http://sqs.us-east-1.localhost.localstack.cloud:4566/000000000000/MessengerQueue"
  ]
}

有什么想法吗?

我可以使用 aws cli 调试 sqs 队列吗?我的意思是,我如何使用

aws-cli
从 sqs 队列接收消息?

amazon-web-services spring-cloud amazon-sqs
1个回答
0
投票

是的,您可以使用 aws-cli 从 sqs 队列接收消息。 此示例最多接收 10 条可用消息,返回所有可用属性。

命令:

aws sqs receive-message --queue-url http://sqs.us-east-1.localhost.localstack.cloud:4566/000000000000/MessengerQueue --attribute-names All --message-attribute-names All --max-number-of-messages 10

文档:https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html

© www.soinside.com 2019 - 2024. All rights reserved.