我们有一个正在监听JMS队列(WebSphere 7)的Spring项目(3.0.5)。我们需要能够打开/关闭队列侦听器。我们目前通过我们自己的RESTful端点以编程方式调用DefaultMessageListenerContainer.start()和stop()来打开/关闭监听器。
我们观察到,在两次或三次切换监听器(打开/关闭/打开或打开/关闭/打开/关闭/打开)后,监听器进入挂起状态,我们无法将其关闭。
要调试正在进行的操作,我们将日志级别设置为Trace。当侦听器成功打开时,我们会在日志中看到以下消息:
XXXX-XX-XX [myListenerContainer-1] TRACE cgcrcmMessageListenerContainer - doReceiveAndExecute - session [com.ibm.mq.jms.MQQueueSession@1872c950]的Consumer [com.ibm.mq.jms.MQQueueReceiver@45486b51]没有收到消息
但是,上次我们在挂起之前打开侦听器,我们无法在日志中看到此消息。
额外细节: