根据MessageAttributes从SQS检索消息

时间:2019-02-08 05:47:29

标签: amazon-web-services amazon-sqs

我已将一些消息添加到带有消息属性的SQS队列中。

SendMessageRequest send_msg_request = new SendMessageRequest().withQueueUrl(queueUrl)
            .withMessageBody("Type 1Message")
            .addMessageAttributesEntry("Type1",  new MessageAttributeValue().withDataType("String").withStringValue("Type1"));
sqs.sendMessage(send_msg_request);

SendMessageRequest send_msg_request = new SendMessageRequest().withQueueUrl(queueUrl)
            .withMessageBody("Type 2 Message")
            .addMessageAttributesEntry("Type2",  new MessageAttributeValue().withDataType("String").withStringValue("Type2"));
sqs.sendMessage(send_msg_request);

然后使用

检索消息
List<String> messageAttributeNames = new ArrayList<>();
messageAttributeNames.add("Type1");

ReceiveMessageRequest receiveMessage = new ReceiveMessageRequest().withQueueUrl(queueUrl)
            .withMessageAttributeNames(messageAttributeNames);
ReceiveMessageResult result = sqs.receiveMessage(receiveMessage);

List<Message> messages = result.getMessages();

但是接收呼叫正在重播属性名称为Type1&Type2的消息 香港专业教育学院尝试setMessageAttributes和withMessageAttributes,但在每种情况下,我都找回了两种类型。

这是SQS的行为还是我遗漏了一些东西? 感谢任何帮助。

0 个答案:

没有答案