Support Article
JMS MDB Listener not working in WebLogic
SA-28674
Summary
A WebLogic Application Server has been integrated with TIBCO that uses foreign JMS resources.
A JMS MDB Listener has been configured, but the listener is not able to initialize and consume the messages from the foreign JMS queue as expected.
Error Messages
Not Applicable
Steps to Reproduce
Integrate a JMS MDB Listener to consume foreign JMS resources in the WebLogic Application Server.
Root Cause
A defect or configuration issue in the operating environment
The WebLogic Application Server is not able to look up the foreign JMS Connection Factory.
To determine this root cause, in the System Management Application (SMA), enable Debug on the following classes:
com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRJMSListener
com.pega.pegarules.integration.engine.internal.services.jms.JMSListener
These two classes are responsible for processing JMS Messages. At runtime, it shows that the classes are not being activated at all.
Resolution
Make the following change to the operating environment:
- Associate the Connection Factory JNDI lookup with the JMSMDB Listener by updating the WebLogic deployment descriptor file, weblogic-ejb-jar.xml.
Find this file inside prbeans.jar within prpc_wls_jee4.ear, in the directory path prpc_wls_jee4.ear\prbeans.jar\META-INF.
Assume that TestJMSMDBListener is the MDB name and the following elements are specified in the weblogic-ejb-jar.xml.
<weblogic-enterprise-bean>
<ejb-name>TestJMSMDBListener</ejb-name>
<message-driven-descriptor>
<destination-jndi-name>jms/TestJMSMDB_QUEUE</destination-jndi-name>
</message-driven-descriptor>
Add the element <connection-factory-jndi-name> as shown below:
<weblogic-enterprise-bean>
<ejb-name>TestJMSMDBListener</ejb-name>
<message-driven-descriptor>
<connection-factory-jndi-name>jms/TestConnFact</connection-factory-jndi-name>
<destination-jndi-name>jms/TestJMSMDB_QUEUE</destination-jndi-name>
</message-driven-descriptor> - After you update the weblogic-ejb-jar.xml file, reassemble the prbeans.jar and prpc_wls_jee4.ear files.
- Redeploy the updated prpc_wls_jee4.ear file in WebLogic Application Server.
Published September 6, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.