首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向fifo队列发送消息

向fifo队列发送消息
EN

Stack Overflow用户
提问于 2017-07-03 12:47:49
回答 2查看 6.5K关注 0票数 2

我使用向SQS队列发送消息。

它失败了

请求必须包含参数MessageGroupId。

在春季云-aws消息传递中,QueueMessagingTemplate上似乎没有任何地方允许我设置强制MessageGroupId。

在这个庄园中,目前是否有一种写入SQS队列的方法,或者我必须直接使用amazons?

EN

回答 2

Stack Overflow用户

发布于 2019-11-26 18:36:58

Spring自2017年以来支持FIFO队列,根据:添加对FIFO SQS队列#252的支持

您只需要添加两个所需的参数(messageGroupId和messageDeduplicationId),如下所示:

代码语言:javascript
复制
public void send(String topicName, Object message, String messageGroupId, String messageDeduplicationId) throws MessagingException {
    Map<String, Object> headers = new HashMap<>();
    headers.put("message-group-id", messageGroupId);
    headers.put("message-deduplication-id", messageDeduplicationId);
    messagingTemplate.convertAndSend(topicName, message, headers);
}
票数 13
EN

Stack Overflow用户

发布于 2017-07-13 17:24:02

我不相信使用spring aws的1.1.x版本可以支持FIFO,因为QueueMessagingTemplate是如何使用不支持以这种方式配置SendMessageRequest的QueueMessagingChannel的。

详细信息请查看https://github.com/spring-cloud/spring-cloud-aws/blob/master/spring-cloud-aws-messaging/src/main/java/org/springframework/cloud/aws/messaging/core/QueueMessageChannel.java#L78

由于这个原因,我已经打开了https://github.com/spring-cloud/spring-cloud-aws/issues/246,尽管我不知道是否会增加支持。

我似乎也不能使用自定义QueueMessageTemplate;如果可以的话,这将是一个合理的解决办法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44886026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档