Spring JMS侦听器容器侦听器设置超时



我最近从3.1升级到了spring 4.1,jms:listener-container似乎不像3.1中那样等待超时后再尝试设置侦听器。我试过recovery-interval="10000",它每秒仍在尝试3次。

这是我春季配置的一部分:

<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'.

队列备份后,一切正常。这些超时设置可用于配置吗?

问候

这对我来说无疑是一次回归,也是我昨天偶然发现的。我创建这个问题是为了跟踪这个问题。

最新更新