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

Failed to start Pega application with JMS MDB Listener on JBoss

SA-26800

Summary



Unable to bring up Pega application server when JMS MDB listener is configured in JBoss. 


Error Messages



2016-08-10 21:31:45,101 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 84) MSC000001: Failed to start service jboss.deployment.subunit."prpc_j2ee14_jboss61JBM.ear"."prbeans.jar".component.PRAsync.START: org.jboss.msc.service.StartException in service jboss.deployment.subunit."prpc_j2ee14_jboss61JBM.ear"."prbeans.jar".component.PRAsync.START: java.lang.RuntimeException: com.ibm.mq.connector.DetailedResourceAdapterInternalException: MQJCA1011: Failed to allocate a JMS connection., error code: MQJCA1011 An internal error caused an attempt to allocate a connection to fail. See the linked exception for details of the failure.
at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:57) [jboss-as-ee-7.5.6.Final-redhat-2.jar:7.5.6.Final-redhat-2]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_77]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_77]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_77]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_77]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_77]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)


Steps to Reproduce



Whenever trying to bring up Pega application server with JMS MDB listener configuration. Pega app is installed as EAR on JBoss.


Root Cause



A defect or configuration issue in the operating environment.

Resolution



Make the following change to the operating environment: 

Follow the steps of generating prbeans_DD for JBoss EAP 6.x server. Then modify the generated jboss-ejb3.xml as follows:


1. Add the attribute xmlns:mdb="urn:resource-adapter-binding" in the element <jboss:ejb-jar> (which is near the top of the xml document)
2. Add the following segment after </:s-security> element:

    
        <mdb:resource-adapter-binding>
           <ejb-name>replace with your ejb name</ejb-name>
           <mdb:resource-adapter-name>wmq.jmsra.rar</mdb:resource-adapter-name>
           </mdb:resource-adapter-binding>    

 3. Add the following MQ specific settings under your own message-driven bean element:
      
            <activation-config>
                <activation-config-property>
                    <activation-config-property-name>destination</activation-config-property-name>
                    <activation-config-property-value>replace with your queue name</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                    <activation-config-property-name>destinationType</activation-config-property-name>
                    <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>                
                    <activation-config-property-name>useJNDI</activation-config-property-name>
                    <activation-config-property-value>false</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>                
                    <activation-config-property-name>hostName</activation-config-property-name>
                    <activation-config-property-value>replace with your host ip</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>    
                    <activation-config-property-name>port</activation-config-property-name>
                    <activation-config-property-value>replace with your port</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>    
                    <activation-config-property-name>queueManager</activation-config-property-name>
                    <activation-config-property-value>replace with your queue manager</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>                    
                    <activation-config-property-name>channel</activation-config-property-name>
                    <activation-config-property-value>replace with your channel</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>                    
                    <activation-config-property-name>transportType</activation-config-property-name>
                    <activation-config-property-value>CLIENT</activation-config-property-value>                    
                </activation-config-property>
            </activation-config>     
4. Update prbeans.jar with the updated jboss-ejb3.xml modified from step 1 to step 3.
5. Update 
prpc_j2ee14_jboss61JBM.ear with the modified prbeans.jar from step 4.
6. Redeploy the ear from step 5.

 

Published September 8, 2016 - Updated December 2, 2021

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