2014-08-27 85 views
1

我当前的产品MDB在WAS 6.1版本的AS/400上运行。MDB监听器未启动

没有为MDB设置QA环境,所以我正在设置,我在消息队列中插入一条消息,并设置MDB以获取消息并处理消息,但MDB Listner未启动并给我错误。但它给我QA问题

我正在使用WebSphere Application Server 8.5.5.1进行质量保证。

[14年8月27日9:47:56:073 EDT] 00000043 MDBListenerImW¯¯WMSG0019E:无法启动MDB监听MDBPortalBean,JMSDestination JMS/RECEIVER_QUEUE_CONN_FACTORY_QA:java.lang.ClassCastException:com.ibm.ejs.jms。 JMSQueueConnectionFactoryHandle与javax.jms.Destination不兼容 at com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:264) at 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) 在融为一体。 ibm.ejs.util.am._Alarm.runImpl(_Alarm.java:151) at com.ibm.ejs.util.am._ Alarm.run(_Alarm.java:136) at com.ibm.ws.util.ThreadPool $ Worker.run(ThreadPool.java:1862)

+0

您可以检查WebSphere控制台,并看到您的EAR文件的jndi映射在生产中与QA相同吗?它看起来像你已经将对队列的引用映射到连接工厂,反之亦然。 – Greycon 2014-08-27 15:43:53

+0

我didny设置连接工厂,我建立了队列连接工厂与JNDI jms/RECEIVER_QUEUE_CONN_FACTORY_QA和代码是\t \t QueueConnectionFactory queueConnectionFactory = null; \t \t JMSLookupFactory jmslookupobj = new JMSLookupFactory(this.m_BusContext,this.m_FtcUsrContxt); – user3169897 2014-08-27 15:53:44

+0

好吧。看看这个:http://www-01.ibm.com/support/docview.wss?uid=swg21385923它似乎符合我们的问题。 – Greycon 2014-08-27 15:56:17

回答

0

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

修复监听端口配置为指向您所创建的JMS目的地和监听端口应开始。

+0

我将其更改为jms/RECEIVER_QUEUE_DEST_QA并收到此错误WMSG0019E:无法启动MDB Listener MDBPortalBean,JMSDestination jms/RECEIVER_QUEUE_DEST_QA:com.ibm.msg.client.jms.DetailedJMSException:JMSWMQ0018:无法连接到队列管理器'SENDER_QUEUE_MGR_QA'连接模式'客户'和主机名'webapp.ftc.org(1416)'。 检查队列管理器是否已启动,如果以客户端模式运行,请检查是否有侦听器正在运行。请参阅链接的例外以获取更多信息。 – user3169897 2014-08-27 18:48:32

+0

由于错误提示使用这些连接设置连接到该队列管理器时出现问题。检查SENDER_QUEUE_MGR_QA是否是正确的队列管理器名称,并且主机/端口对于该队列管理器是否正确。 – whitfiea 2014-08-27 19:27:47