0

我正在为 JMS 使用 Websphere Application Server (WAS) 6.1 的默认消息传递提供程序。我的远程客户端应用程序创建一个连接,然后setExceptionListener注册回调。

当我使用 WAS 集成解决方案控制台简单地停止消息传递引擎时,我的应用程序会按预期运行,即onException立即调用并且我的应用程序会做出相应反应。但是,当我拉网线时,onException回调不会在 30 到 60 秒之间被回调。

丑陋的结果是我的应用程序只是试图在这 30 到 60 秒的时间范围内继续向 WAS 发送消息,而这些消息就丢失了。我已经进行了几次搜索,试图找出更多关于ExceptionListener(例如,是否有一些配置参数用于指定回调超时),但没有任何成功。

希望这对外面的人有意义。有什么建议可以让我更快地检测到电缆“切断”的情况吗?谢谢你的帮助。

-克里斯

4

1 回答 1

1

您碰巧没有定义 30 秒的 TCP 超时吗?如果是这样,那么 MQ 已将其职责暂时移交给 JVM/OS,并等待它对它所请求的任何与网络相关的操作进行 ACK。也许尝试降低 TCP 超时值...

于 2010-09-12T11:01:48.340 回答