Spring integration 如何使用jms添加重试建议:消息驱动通道适配器

Spring integration 如何使用jms添加重试建议:消息驱动通道适配器,spring-integration,Spring Integration,我不熟悉spring集成。我的要求是,如果jmsq存在连接问题,那么它应该尝试连接3次,然后记录并退出该过程。我做不到。它抛出一个错误,表示它需要service:activator的ref属性。但我不知道这里要提供哪一类的参考资料。还有别的办法吗 您似乎完全误解了框架的作用 当从JMS接收到一条消息时,服务激活器会收到一条消息,这意味着连接良好,并且需要一些东西,例如对bean的引用或作为接收该消息的结果调用的表达式 重试建议是,如果由于某种原因无法处理消息,则重试调用该服务。在本例中,它与消

我不熟悉spring集成。我的要求是,如果jmsq存在连接问题,那么它应该尝试连接3次,然后记录并退出该过程。我做不到。它抛出一个错误,表示它需要service:activator的ref属性。但我不知道这里要提供哪一类的参考资料。还有别的办法吗


您似乎完全误解了框架的作用

当从JMS接收到一条消息时,服务激活器会收到一条消息,这意味着连接良好,并且需要一些东西,例如对bean的引用或作为接收该消息的结果调用的表达式

重试建议是,如果由于某种原因无法处理消息,则重试调用该服务。在本例中,它与消息JMS的源无关

不清楚您为什么要尝试使用Spring集成来测试JMS代理是否可用这样简单的事情


如果你能提供一些更大的背景,也许有人能提供帮助。

感谢Gary为我提供了正确的背景。这当然有帮助。至于要求,检查经纪人的可用性只是其中的一部分。我们有一个完整的应用程序,它从一个q中提取消息,然后放到另一个q中,以此类推。这是我的经理希望我做的一个小要求。但因为我是新手,有点没主意。你可以简单地在你的连接工厂中调用createConnection;如果成功,你可以关闭它;如果没有,请在多次尝试后关闭,尽管不清楚您为什么要这样做。使用消息侦听器容器,Spring将继续尝试无限期连接,直到成功。谢谢Gary。我们如何在CachingConnectionFactory上设置这些属性;那应该对你有用。以后,不要将代码/配置片段放在注释中-它们不会很好地呈现-最好编辑您的问题。