Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

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:
  1. 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>


  2. After you update the weblogic-ejb-jar.xml file, reassemble the prbeans.jar and prpc_wls_jee4.ear files.
  3. Redeploy the updated prpc_wls_jee4.ear file in WebLogic Application Server.

Published September 6, 2017 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us