Support Article
Queue type validation fails in MDBListener because of code issue
Summary
User reported that the Queue type validation fails in MDBListener. User got queue type validation failure when testing connectivity in MDBListener and they have found the code issue.
Error Messages
Object at JNDI node '' doesn't implement javax.jms.Destination
Steps to Reproduce
1. Open MDB listener TibcoJMSListener (when reply queue configured) and go to tab JMS Properties.
2. Click Test connectivity.
Root Cause
Under the Activity ValidateInfrastructureJMSMDBListener Step 4, it tries to get resouceName from pyResQueueName in listenerPage as below -
String resourceNameOrig = listenerPage.getString("pyResQueueName");
String resourceName = svcUtilsPriv.getStringIndirect(listenerPage, "pyResQueueName");
But in TempListenerPage, pyResourceName is set with queue name, and there is no pyResQueueName defined in the page. The resourceName with empty value is used for JNDI lookup for queue. Instead of returning queue class, class WLEventContextImpl is returned. Because it is not instaneOf Destination, queue type validation fails.Resolution
Local change - User modified below code in the Step 4 of the Activity ValidateInfrastructureJMSMDBListener;
//Original Code
String resourceNameOrig = listenerPage.getString("pyResQueueName");
String resourceName = svcUtilsPriv.getStringIndirect(listenerPage, "pyResQueueName");
//Modified Code
String resourceNameOrig = listenerPage.getString("pyResourceName");
String resourceName = svcUtilsPriv.getStringIndirect(listenerPage, "pyResourceName");
Published April 2, 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.