gpt4 book ai didi

java - Spring AMQP MessageListenerAdapter - 如何将响应拆分为多个消息?

转载 作者:行者123 更新时间:2023-12-02 10:22:49 26 4
gpt4 key购买 nike

是否可以拆分 delegate 的响应来自MessageListenerAdapter分成单独的消息?

public class MyBean {    
public List<Response> handleMessage(final MyPayload payload) {
return ...
}
}

...

@Bean
public MessageListenerContainer container() {
final SimpleMessageListenerContainer container = containerFactory.createListenerContainer();
container.setListenerId("myListener");
container.setQueueNames("myQueue");

final MessageListenerAdapter listenerAdapter = new MessageListenerAdapter(new MyBean(), new Jackson2JsonMessageConverter());
listenerAdapter.setResponseExchange("");
listenerAdapter.setResponseRoutingKey("other");
container.setMessageListener(listenerAdapter);
return container;
}

适配器按预期将一条消息放入“其他”队列,但我想拆分响应并为结果 List<Response> 中的每一项发送多条消息。这可能是 OOTB 吗?我应该写一个自定义MessageConverter支持这个吗?

最佳答案

没有;不支持;一个请求仅返回一个回复。

客户端的编码也很棘手 - 它如何知道预期有多少响应? RabbitTemplate 当然不能处理多个响应。

如果您确实想发送多个响应,请使用 RabbitTemplate 在服务器端发送回复,并且不要使用请求/回复消息传递。

关于java - Spring AMQP MessageListenerAdapter - 如何将响应拆分为多个消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54199849/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com