0

我使用 WebSphere MQ 消息传递提供程序在 Websphere 中创建了一个队列连接工厂。使用 JNDI 获取此资源,并尝试在同一主机上创建队列连接。第一次,一切正常,但是当我第二次时,它会抛出一个 JMS 异常:

javax.jms.JMSException: Failed to create queue connection
    at com.ibm.ejs.jms.JMSCMUtils.mapToJMSException(JMSCMUtils.java:141)
    at com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle.createQueueConnection(
         JMSQueueConnectionFactoryHandle.java:90)
4

2 回答 2

0

帖子中的信息很少,除了猜测之外很难做任何事情。我首先要查找的是应用程序或队列是否设置为独占使用。当然,这假设您正在打开输入队列,并且问题中没有提到该细节。拥有将提供实际 WMQ 原因和完成代码的链接异常可以肯定地告诉您,但问题中也没有提供这些。

如果 JMS 代码不打印链接异常,许多商店将其视为 Sev-1 缺陷。这不是特定于 WMQ 的事情,而是打印出所有可用诊断信息的情况,而不管传输提供商如何。如果您想了解更多信息,请参阅 WMQ Ifocenter JMS 异常处理主题

于 2012-09-10T23:59:25.113 回答
0

最大连接在 WAS 控制台中。如果连接数超过最大连接数且未释放资源(QueueConnection、QueueSender 和 QueueSession),则在下一次连接时将无法从连接池中获取连接。只有重新启动服务器后,您才能释放连接。这可以通过在代码中正确关闭所有资源(QueueConnection、QueueSender 和 QueueSession)来解决。

于 2018-02-13T10:22:23.980 回答