Java JMSTemplate send()的回滚或超时
我们目前正在使用JmsTemplate的send(Destination,messageCreator)方法将消息发送到webMethods队列。但是,有时send方法需要很长时间才能返回,这是我们无法承受的,因为我们的超时时间应该只有5秒。我的问题是,我们如何确保这一点?JmsTemplate似乎没有发送超时Java JMSTemplate send()的回滚或超时,java,jms,spring-jms,webmethods,Java,Jms,Spring Jms,Webmethods,我们目前正在使用JmsTemplate的send(Destination,messageCreator)方法将消息发送到webMethods队列。但是,有时send方法需要很长时间才能返回,这是我们无法承受的,因为我们的超时时间应该只有5秒。我的问题是,我们如何确保这一点?JmsTemplate似乎没有发送超时 我认为我们有一个选择,就是等待send()方法的5秒响应。如果它超过5秒,我们会认为它是失败的。但是,我们需要确保发送的消息(尝试发送)不会被处理,因为我们将认为此请求失败。我们如何做到
我认为我们有一个选择,就是等待send()方法的5秒响应。如果它超过5秒,我们会认为它是失败的。但是,我们需要确保发送的消息(尝试发送)不会被处理,因为我们将认为此请求失败。我们如何做到这一点?回降?谢谢 JmsTemplate是对核心jmsapi的更高级别抽象。核心(JMS)API没有这样的机制 JMS发送花费这么长时间是很不寻常的;除非你有巨大的信息和缓慢的网络 您可以在另一个线程上处理发送,并在5秒钟后尝试中断发送,但这仅在JMS客户机库代码可中断时才起作用 然而,由于比赛条件的原因,通常不可能可靠地完成您想要的任务