Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JMSTemplate send()的回滚或超时_Java_Jms_Spring Jms_Webmethods - Fatal编程技术网

Java JMSTemplate send()的回滚或超时

Java JMSTemplate send()的回滚或超时,java,jms,spring-jms,webmethods,Java,Jms,Spring Jms,Webmethods,我们目前正在使用JmsTemplate的send(Destination,messageCreator)方法将消息发送到webMethods队列。但是,有时send方法需要很长时间才能返回,这是我们无法承受的,因为我们的超时时间应该只有5秒。我的问题是,我们如何确保这一点?JmsTemplate似乎没有发送超时 我认为我们有一个选择,就是等待send()方法的5秒响应。如果它超过5秒,我们会认为它是失败的。但是,我们需要确保发送的消息(尝试发送)不会被处理,因为我们将认为此请求失败。我们如何做到

我们目前正在使用JmsTemplate的send(Destination,messageCreator)方法将消息发送到webMethods队列。但是,有时send方法需要很长时间才能返回,这是我们无法承受的,因为我们的超时时间应该只有5秒。我的问题是,我们如何确保这一点?JmsTemplate似乎没有发送超时


我认为我们有一个选择,就是等待send()方法的5秒响应。如果它超过5秒,我们会认为它是失败的。但是,我们需要确保发送的消息(尝试发送)不会被处理,因为我们将认为此请求失败。我们如何做到这一点?回降?谢谢

JmsTemplate是对核心jmsapi的更高级别抽象。核心(JMS)API没有这样的机制

JMS发送花费这么长时间是很不寻常的;除非你有巨大的信息和缓慢的网络

您可以在另一个线程上处理发送,并在5秒钟后尝试中断发送,但这仅在JMS客户机库代码可中断时才起作用

然而,由于比赛条件的原因,通常不可能可靠地完成您想要的任务