我使用向SQS队列发送消息。
它失败了
请求必须包含参数MessageGroupId。
在春季云-aws消息传递中,QueueMessagingTemplate上似乎没有任何地方允许我设置强制MessageGroupId。
在这个庄园中,目前是否有一种写入SQS队列的方法,或者我必须直接使用amazons?
发布于 2019-11-26 18:36:58
Spring自2017年以来支持FIFO队列,根据:添加对FIFO SQS队列#252的支持
您只需要添加两个所需的参数(messageGroupId和messageDeduplicationId),如下所示:
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);
}发布于 2017-07-13 17:24:02
我不相信使用spring aws的1.1.x版本可以支持FIFO,因为QueueMessagingTemplate是如何使用不支持以这种方式配置SendMessageRequest的QueueMessagingChannel的。
由于这个原因,我已经打开了https://github.com/spring-cloud/spring-cloud-aws/issues/246,尽管我不知道是否会增加支持。
我似乎也不能使用自定义QueueMessageTemplate;如果可以的话,这将是一个合理的解决办法。
https://stackoverflow.com/questions/44886026
复制相似问题