Support Article
EJBException: Problem during method invocation (setMessageDrive)
SA-17480
Summary
JMS MDB Listener can't be set up.
Error Messages
[11/2/15 12:10:30:815 MST] 00000029 SibMessage W [:] CWSJY0003W: MQJCA4004: Message delivery to an MDB 'gnabre#prbeans.jar#PLResponseListener($Proxy@4e5f4e5f)' failed with exception: 'beforeDelivery failure'
[11/2/15 12:10:30:991 MST] 00000029 ActivationSpe I J2CA0524I: The Message Endpoint for ActivationSpec jms/TESTSPEC (com.ibm.mq.connector.inbound.ActivationSpecImpl) and MDB Application gnabre#prbeans.jar#PLResponseListener is deactivated.
[11/2/15 12:10:30:993 MST] 00000029 SibMessage W [:] CWWMQ0007W: The message endpoint gnabre#prbeans.jar#PLResponseListener has been paused by the system. Message delivery failed to the endpoint more than 0 times. The last attempted delivery failed with the following error: javax.resource.ResourceException: beforeDelivery failure
at com.ibm.ejs.container.MessageEndpointHandler.beforeDelivery(MessageEndpointHandler.java:1418)
at com.ibm.ejs.container.MessageEndpointHandler.invokeMessageEndpointMethod(MessageEndpointHandler.java:801)
...
Caused by: java.lang.RuntimeException: Unable to retrieve method
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getMethod(PRBootstrap.java:266)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getEntry(PRBootstrap.java:302)
...
Caused by: java.lang.NoSuchMethodException: com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRJMSListener.onMessage(javax.jms.Message)
at java.lang.Class.throwNoSuchMethodException(Class.java:332)
at java.lang.Class.getMethod(Class.java:930)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.getMethod(PRBootstrap.java:260)
...
Steps to Reproduce
- Attempt to read a message from the queue using the jms/MDB listener
Root Cause
A third-party product issue caused by conflicting jms-1.0.0.jar in the database which had same classes as in javax.j2ee.jms.jar found in the Websphere plugins directory
Resolution
Make the following change to the operating environment: Remove the conflicting jms-1.0.0.jar from pr_engineclasses table to resolve the issue. Following SQL query can be used to purge jms-1.0.0.jar from the database:
delete from pr_engineclasses where pzjar like 'jms-1.0.0.jar'
delete from pr_engineclasses where pzclass like 'jms-1.0.0.jar'
Published January 31, 2016 - 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.