【发布时间】:2014-02-02 06:27:04
【问题描述】:
我正在使用这部分代码连接到队列管理器。
jmsFactory = JmsFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER);
jcf = jmsFactory.createConnectionFactory();
// Set the properties
jcf.setStringProperty(WMQConstants.WMQ_HOST_NAME, hostName);
jcf.setIntProperty(WMQConstants.WMQ_PORT, port);
jcf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT);
jcf.setStringProperty(WMQConstants.WMQ_CHANNEL, channel);
connection = jcf.createConnection();
当一切正常时,就没有问题了。但是当主机无法访问时;等待异常的时间很长。我的意思是 jcf.createConnection() 等待并尝试在 30 秒左右建立连接,然后引发异常。
我可以减少这个时间吗?如何? 当我在另一个应用程序中尝试通过线程将数千条消息发送到队列管理器并且每个线程等待 30 秒以获取连接时,这会导致严重的问题。
【问题讨论】:
-
只是想一想,您是否检查过超时不在操作系统级别?此外,队列管理器是本地的(与您的代码运行在同一台机器上)还是远程的?
-
不,我在另一个系统中运行我的应用程序。我想处理我的 QMGR 服务器关闭的情况。
标签: ibm-mq