2014-08-27 83 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