【发布时间】:2019-01-15 13:29:47
【问题描述】:
是否可以将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 来支持这个吗?
【问题讨论】:
-
是的,为什么不在您的适配器下游添加
splitter?那是你要找的吗?我的意思是这是最自然的方式。
标签: java spring-integration spring-amqp