java - 如何设置队列生产者超时?

标签 java timeout jms weblogic failover

我正在测试 WebLogic 10.3.1 JMS,但出现问题。

我的测试步骤:

  1. 启动WebLogic Server
  2. 启动 JMS 客户端
  3. 客户端向 WebLogic JMS 发送一个对象,服务器接收到该对象。
  4. 停止 WebLogic Server
  5. 将另一个对象发送到 WebLogic JMS。

我期望的是出现异常,但是没有出现任何东西并且程序挂起。程序停止于:

sender.send(objMsg);

我已经添加了一些超时设置,但仍然无法正常工作:

((WLProducerImpl) sender).setSendTimeout(1000);
((WLConnection) connection).setReconnectPolicy(JMSConstants.RECONNECT_POLICY_PRODUCER);
((WLConnection) connection).setReconnectBlockingMillis(1000);

在这种情况下有什么方法可以产生异常吗?非常感谢。

最好的问候, 克里斯

最佳答案

您可以尝试将超时设置在发送方法中。类似于以下内容: sender.send(objMsg, Message.DEFAULT_DELIVERY_MODE, Message.DEFAULT_PRIORITY, 10000);

关于java - 如何设置队列生产者超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1872894/

相关文章:

python - 将超时传递给 socket.getaddrinfo

java - JMS,检测临时队列何时被破坏

java - JMSClient(在某些情况下也是生产者)是否接收它自己发送的消息

java - 为什么Java中没有必要重写接口(interface)Comparator的两种方法

java - 什么是 "non-blocking"并发,它与普通并发有何不同?

java - Log4j2同步日志记录

java - 建议一个 JMS 提供者(针对 Java 平台)

java - JUnit 测试总是回滚事务

mysqli.reconnect 是否会重新运行因超时而失败的查询?

javascript - $timeout.cancel() 没有取消超时