Java MDB侦听器未启动

Java MDB侦听器未启动,java,ibm-mq,Java,Ibm Mq,我当前在AS/400上运行的生产MDB版本是6.1 QA环境没有为MDB设置,所以我正在进行设置,我在消息队列中插入了一条消息,并设置MDB以获取消息并处理消息,但MDB Listner没有启动并给我错误。相同的代码工作正常,但在QA中给了我问题 我正在使用WebSphereApplicationServer8.5.5.1进行QA [8/27/14 9:47:56:073 EDT]00000043 MDBListenerIm W WMSG0019E:无法启动MDB侦听器MDBPortalBean

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

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

我正在使用WebSphereApplicationServer8.5.5.1进行QA

[8/27/14 9:47:56:073 EDT]00000043 MDBListenerIm W WMSG0019E:无法启动MDB侦听器MDBPortalBean,jms目标jms/RECEIVER\u QUEUE\u CONN\u FACTORY\u 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.\u Alarm.runImpl(\u Alarm.java:151) 在com.ibm.ejs.util.am.\u Alarm.run(\u Alarm.java:136)
在com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862)

上,错误是因为您错误地配置了侦听器端口。您已将侦听器端口配置中的JMS目标设置为QCF,此时它应该是目标:
JMSDestination jms/RECEIVER\u QUEUE\u CONN\u FACTORY\u QA



修复侦听器端口配置,使其指向已创建的JMS目标,侦听器端口应启动。

您是否可以检查WebSphere控制台,并查看EAR文件的jndi映射在生产中是否与QA相同?在我看来,您似乎已将对队列的引用映射到连接工厂,反之亦然。我没有设置连接工厂,我使用JNDI jms/RECEIVER\u Queue\u CONN\u Factory\u QA设置了队列连接工厂,代码类似于QueueConnectionFactory QueueConnectionFactory=null;JMSLookupFactory jmslookupobj=新的JMSLookupFactory(this.m_BusContext,this.m_ftcusrcontext);好吧。看看这个:它似乎与我们的问题相匹配。我将它从jms/RECEIVER\u QUEUE\u CONN\u FACTORY\u QA更改为jms/RECEIVER\u QUEUE\u DEST\u QA,这是我的JNDI队列名称,现在出现了新的错误WMSG0019E:无法启动MDB侦听器MDBPortalBean,JMSDestination jms/RECEIVER_QUEUE_DEST_QA:com.ibm.msg.client.jms.DetailedJMSexException:JMSWMQ0018:无法连接到连接模式为“client”且主机名为“webapp.ftc.org(1416)”的队列管理器“SENDER_QUEUE_MGR_QA”。检查队列管理器是否已启动,如果在客户端模式下运行,请检查是否有侦听器正在运行。有关详细信息,请参阅链接的异常。可能此端口上有另一个QM!!我将其更改为jms/RECEIVER_QUEUE_DEST_QA,并获得以下错误WMSG0019E:无法启动MDB侦听器MDBPortalBean,JMSDestination jms/RECEIVER_QUEUE_QUEUE_DEST_QA:com.ibm.msg.client.jms.detailedjmscexception:JMSWMQ0018:无法连接到连接模式为“client”且主机名为“webapp.ftc.org(1416)”的队列管理器“发送者队列管理器”。检查队列管理器是否已启动,如果在客户端模式下运行,请检查是否有侦听器正在运行。有关详细信息,请参阅链接的异常。错误表明,使用这些连接设置连接到该队列管理器时出现问题。检查发送方队列管理器QA是否为正确的队列管理器名称,以及该队列管理器的主机/端口是否正确。