0
我最近從3.1升級到4.1,並且在重試安裝偵聽器之前,jms:listener-container
似乎沒有像在3.1中那樣等待超時。我試過recovery-interval="10000"
,它仍然每秒嘗試3次左右。Spring JMS偵聽器容器偵聽器安裝程序超時
這裏是我的Spring配置的部分:
<jms:listener-container recovery-interval="10000" connection-factory="connectionFactory">
<jms:listener destination="${myQueueDestination}" ref="myListener" />
<!-- many others -->
</jms:listener-container>
我在4.1看起來像日誌(見次):
11/09 11:56:33 WARN [org.springframework.jms.listener.DefaultMessageListenerContainer] Setup of JMS message listener invoker failed f or destination 'MYQUEUE.NAME' - trying to recover. Cause: MQJMS2008: failed to open MQ queue ''.; nested exception is com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2085'.
11/09 11:56:33 WARN [org.springframework.jms.listener.DefaultMessageListenerContainer] Setup of JMS message listener invoker failed for destination 'MYQUEUE.NAME' - trying to recover. Cause: MQJMS2008: failed to open MQ queue ''.; nested exception is com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2085'.
11/09 11:56:34 WARN [org.springframework.jms.listener.DefaultMessageListenerContainer] Setup of JMS message listener invoker failed f (...)
和3.1看起來像這樣(見5秒延遲):
11/09 12:14:32 WARN [org.springframework.jms.listener.DefaultMessageListenerContainer] Setup of JMS message listener invoker failed for destination 'MYQUEUE.NAME' - trying to recover. Cause: MQJMS2008: failed to open MQ queue ''.; nested exception is com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2085'.
11/09 12:14:37 WARN [org.springframework.jms.listener.DefaultMessageListenerContainer] Setup of JMS message listener invoker failed for destination 'MYQUEUE.NAME' - trying to recover. Cause: MQJMS2008: failed to open MQ queue ''.; nested exception is com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2085'.
11/09 12:14:43 WARN [org.springframework.jms.listener.DefaultMessageListenerContainer] Setup of JMS message listener invoker failed for destination 'MYQUEUE.NAME' - trying to recover. Cause: MQJMS2008: failed to open MQ queue ''.; nested exception is com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2085'.
當隊列備份時,一切正常。這些超時設置是否可用於配置?
問候
我已經用spring-integration-jms替換了spring-jms,並且使用了spring JMS 4.0,問題就消失了。仍然想知道4.1究竟發生了什麼。 – 2014-09-11 06:05:31