【问题标题】:MDB Listener not startedMDB 侦听器未启动
【发布时间】:2014-08-27 14:55:40
【问题描述】:

我当前的生产 MDB 在版本 WAS 6.1 的 AS/400 上运行。

没有为 MDB 设置 QA 环境,所以我正在进行设置,我在消息队列中插入了一条消息并设置 MDB 以获取消息并处理消息,但 MDB Listner 未启动并给我错误。相同的代码工作正常但它给我的质量检查带来了问题

我正在使用 WebSphere Application Server 8.5.5.1 进行 QA。

[8/27/14 9:47:56:073 EDT] 00000043 MDBListenerIm W WMSG0019E:无法启动 MDB 侦听器 MDBPortalBean,JMSDestination jms/RECEIVER_QUEUE_CONN_FACTORY_QA:java.lang.ClassCastException:com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle与 javax.jms.Destination 不兼容 在 com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:264) 在 com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:738) 在 com.ibm.ejs.jms.listener.MDBListenerImpl.restart(MDBListenerImpl.java:711) 在 com.ibm.ejs.jms.listener.MDBListenerImpl.alarm(MDBListenerImpl.java:1134) 在 com.ibm.ejs.util.am._Alarm.runImpl(_Alarm.java:151) 在 com.ibm.ejs.util.am._Alarm.run(_Alarm.java:136) 在 com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)

【问题讨论】:

  • 您能否检查 WebSphere 控制台,并查看您的 EAR 文件的 jndi 映射在生产环境中与 QA 是否相同?在我看来,您已经将对队列的引用映射到连接工厂,反之亦然。
  • 我没有设置连接工厂,我使用 JNDI jms/RECEIVER_QUEUE_CONN_FACTORY_QA 设置了队列连接工厂,代码类似于 QueueConnectionFactory queueConnectionFactory = null; JMSLookupFactory jmslookupobj = new JMSLookupFactory(this.m_BusContext, this.m_FtcUsrContxt);
  • 好吧。看看这个:www-01.ibm.com/support/docview.wss?uid=swg21385923 似乎符合我们的问题。
  • 我将它从 jms/RECEIVER_QUEUE_CONN_FACTORY_QA 更改为 jms/RECEIVER_QUEUE_DEST_QA,这是我的队列的 JNDI 名称,现在出现新错误 WMSG0019E:无法启动 MDB 侦听器 MDBPortalBean,JMSDestination jms/RECEIVER_QUEUE_DEST_QA:com.ibm.msg .client.jms.DetailedJMSException:JMSWMQ0018:无法使用连接模式“客户端”和主机名“webapp.ftc.org(1416)”连接到队列管理器“SENDER_QUEUE_MGR_QA”。检查队列管理器是否已启动,如果在客户端模式下运行,请检查是否有正在运行的侦听器。有关详细信息,请参阅链接的异常。
  • 也许您在此端口上有另一个 QM!

标签: java ibm-mq


【解决方案1】:

该错误是因为您错误地配置了侦听器端口。您已将侦听器端口配置中的 JMS 目标设置为 QCF,而它应该是目标:
JMSDestination jms/RECEIVER_QUEUE_CONN_FACTORY_QA

修复侦听器端口配置以指向您创建的 JMS 目标,并且侦听器端口应该启动。

【讨论】:

  • 我将其更改为 jms/RECEIVER_QUEUE_DEST_QA 并收到此错误 WMSG0019E: 无法启动 MDB 侦听器 MDBPortalBean,JMSDestination jms/RECEIVER_QUEUE_DEST_QA : com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0018: 无法连接到具有连接模式“客户端”和主机名“webapp.ftc.org(1416)”的队列管理器“SENDER_QUEUE_MGR_QA”。检查队列管理器是否已启动,如果在客户端模式下运行,请检查是否有正在运行的侦听器。有关详细信息,请参阅链接的异常。
  • 因为错误表明使用这些连接设置连接到该队列管理器时出现问题。检查 SENDER_QUEUE_MGR_QA 是否是正确的队列管理器名称,以及该队列管理器的主机/端口是否正确。
猜你喜欢
  • 2015-08-30
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-03
  • 2012-01-13
相关资源
最近更新 更多