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
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.