我在Spring Integration 4.1项目中进行了以下设置:
当我停止链接时会发生什么消息,消息从主题中消失,我希望它们保持在那里直到链再次被激活(很像JMS队列)。我怎么能实现这种行为?
我尝试过这种方法,但是我从“备份频道”收到错误,指出它没有任何订阅者来处理该消息:
1 - 发布订阅者频道
2 - 停止/启动链
3 - 控制总线网关
4 - 我添加了一个桥梁和一个常规频道作为队列
这是我用这个解决方案得到的错误:
Caused by: org.springframework.integration.MessageDispatchingException: Dispatcher has no subscribers
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:107)
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:97)
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:77)
... 30 more
所以,问题是:我应该如何配置我的频道,以便在再次添加订阅者之前将消息保留在那里?有可能吗?
答案 0 :(得分:2)
正确;只需将频道设为QueueChannel
(添加<queue/>
子元素)并将链接添加到链中。