如何设置队列生产者超时?
我正在测试WebLogic 10.3.1 JMS,但有一个问题。
我的测试步骤:
- 启动 WebLogic Server
- 启动 JMS 客户端
- 客户端将对象发送到 WebLogic JMS,服务器接收该对象。
- 停止 WebLogic Server
- 将另一个对象发送到 WebLogic JMS。
我期望的是出现异常,但没有出现任何内容并且程序挂起。程序停止于:
sender.send(objMsg);
我已经添加了一些超时设置,但仍然不起作用:
((WLProducerImpl) sender).setSendTimeout(1000);
((WLConnection) connection).setReconnectPolicy(JMSConstants.RECONNECT_POLICY_PRODUCER);
((WLConnection) connection).setReconnectBlockingMillis(1000);
在这种情况下有什么方法可以产生异常吗?非常感谢。
此致, 克里斯
I am testing WebLogic 10.3.1 JMS, but there has a problem.
My Testing step:
- Start WebLogic Server
- Start JMS Client
- Client send a object to WebLogic JMS and server received the object.
- Stop WebLogic Server
- Send another object to WebLogic JMS.
What I expect is a exception come out, but there have not anything appear and program hanged. Program stopped at:
sender.send(objMsg);
I have add some timeout settings, but still not working:
((WLProducerImpl) sender).setSendTimeout(1000);
((WLConnection) connection).setReconnectPolicy(JMSConstants.RECONNECT_POLICY_PRODUCER);
((WLConnection) connection).setReconnectBlockingMillis(1000);
Is there any way to produce exception in this case? Thank You Very Much.
Best Regards,
Chris
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以尝试在发送方法中设置超时。类似于以下内容:
sender.send(objMsg, Message.DEFAULT_DELIVERY_MODE, Message.DEFAULT_PRIORITY, 10000);
You can try putting timeout in send method. something similar to following:
sender.send(objMsg, Message.DEFAULT_DELIVERY_MODE, Message.DEFAULT_PRIORITY, 10000);
我怀疑 WebLogic 传输已挂起并且未检测到服务器已消失 - 并且发送在传输中被阻止。除非 WebLogic JMS 在内部使用单独的线程,否则超时没有任何帮助。
恕我直言,WebLogic 支持人员是唯一能够在这方面为您提供帮助的人(看起来像一个错误)。
I suspect the WebLogic transport is hung and hasn't detected the server has gone - and the send is blocked in the transport. Unless WebLogic JMS are using a separate thread internally, there's no a timeout will help.
IMHO, WebLogic support are the only guys who'll be able to help you on this one (looks like a bug).
找到解决方案:
请添加这两个参数:
Solution Found:
Please add these 2 parameters: