我正在尝试添加选项以停止特定队列/目的地的消息的生产和消费。
我发现的方法是调用imqcmd
并暂停/恢复物理目的地。这样做,消息不会在暂停队列中结束,这很好,但不幸的是程序没有被告知这一点。
相反,它只是“停止”发送操作。它不会打印任何与调试器一起步进的东西,也不会完成任何事情。调试器只说
Waiting until last debugger command completes
当我在此状态下再次恢复队列时,它会立即跳转到下一个断点。
作为替代方案,我尝试暂停代理,这也导致消息未发送,至少我收到以下警告
[__ejb-thread-pool9] WARN com.sun.messaging.jmq.jmsclient.AckQueue:338 - [W2003]: Broker not responding [MAP_MESSAGE(3)] for 7560 seconds. Still trying...,
messageProducer.send(message)
有没有办法在为暂停的队列或暂停的代理执行时获得异常?