2017-04-20 75 views
0

所有,采用同步请求响应JMS沟通,如何从JMS队列超时

我们已经制定了同步JMS通信,我们将请求发送到一个队列,等待corelated响应后摆脱响应消息超时时间为400毫秒。如果响应不会在400秒内回来,那么我们的线程超时和消息将保留在队列中,并且永远不会读取。

我们的目标系统花费了大量的时间来处理消息,响应在400毫秒后回来,导致我们的线程超时并且响应队列很快满了。

我该如何摆脱响应队列中响应来迟的孤儿响应消息?

+0

这就是通常使用的“生存时间”。 –

回答

0

理论上,在JMS协议中,可以设置JMS头部属性即JMSExpiration。如果您使用标准的java-jms,则JmsSender类具有您可以使用的“setTimeToLive”方法。

https://jms-spec.java.net/2.0/apidocs/