Question
ING
BE
Last activity: 16 Oct 2018 12:03 EDT
JMS MDB Listener for MQ server
Hello All,
We are developing MQ Listener over PRPC enterprise application. From the below article we came to know that MQ listener will not work here as PRPC is enterprise application, not web application.
Here few steps are not clear for us like:
Create the MQ QueueManager, JMS Destination(Queue/topic) with listener running on the MQ server.
Configure the MQ Message provider in the Websphere application server which integrate with MQ server.
Configure Message listener Service listener port for the MQ message provider in the Websphere application server.
Configure the datasource to use XA transaction on the server so that it would take an advantage of XA with the MQ server.
Could anyone please explain the above steps to configure this.
We have been provided MQ queuemanager, MQ name etc.
Thanks
Saikat
**Moderation Team has archived post**
This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Accepted Solution
Pegasystems Inc.
US
Hi Saikat,
I have a rough local WAS + JMS + MQ configuration document lying around. I have attached to this thread. See if that helps.
Thanks,
Ankur
ING
BE
Hi Ankur,
Thanks for the help. We have configured the MQ connection in websphere.
One question is in Pega we have to create JMS MDB listener in this case and Service JMS, not Service MQ, right, though we are connecting to MQ.
Another is in this case, we need to create MQ server or JNDI Server.
Thanks
Saikat
Pegasystems Inc.
US
Hi Saikat,
Glad to hear that the doc helped. Yes, in Pega you would need the JMS MDB Listener and Service JMS rules. PRPC can help you auto generated the rules via the Integration > Services > Service Wizard. 2. You would need JNDI Server. This rule is auto generated too via the above wizard.
Thanks,
Ankur
-
John Sullivan Peter Janssen
Updated: 11 May 2018 9:23 EDT
Infosys Ltd
US
Hi Ankur,
I was following the steps defined in your attachment for configuring a JMS MDB listener where Websphere MQ is the default messaging provider.
I am kind of stuck defining the JNDI instance in PEGA. What will be the provider url in your example and where can that be found in WAS? Without this i am not able to establish a successful connection. Please advise.
Hi Ankur,
I was following the steps defined in your attachment for configuring a JMS MDB listener where Websphere MQ is the default messaging provider.
I am kind of stuck defining the JNDI instance in PEGA. What will be the provider url in your example and where can that be found in WAS? Without this i am not able to establish a successful connection. Please advise.
Got the following error message when i did a test connectivity on JNDI server instanc in pega.
Overall result
<p>
javax.naming.ConfigurationException: java.net.MalformedURLException: Malformed URL "iiop:\\*******:*****" [Root exception is java.net.MalformedURLException: Malformed URL "iiop:\\********:******"]
Accenture Technology Solutions Pte Ltd
SG
Did you try this ?
iiop://{YourHostName}:{YourPortNumber}
Infosys Ltd
US
Yes Kannesh. I got the same error.
I want to know how middleware can find the provider url..
Yes Kannesh. I got the same error.
I want to know how middleware can find the provider url..
<p>
javax.naming.CommunicationException: A communication failure occurred while attempting to obtain an initial context with the provider URL: "iiop://******:*****". Make sure that any bootstrap address information in the URL is correct and that the target name server is running. A bootstrap address with no port specification defaults to port 2809. Possible causes other than an incorrect bootstrap address or unavailable name server include the network environment and workstation network configuration. [Root exception is org.omg.CORBA.COMM_FAILURE: purge_calls:2157 Reason: CONN_ABORT (1), State: ABORT (5) vmcid: IBM minor code: 306 completed: Maybe]
Accenture Technology Solutions Pte Ltd
SG
Its not the same error, its changed now.
Earlier the URL format was not correct, you saw MalformedURLException.
Now, you are unable to connect to the Host xxxxxx with the Port xxxx, hence you are seeing CommunicationException
Just to reconfirm is your Bootstrap Port in the Websphere Server is correct ? Is it showing xxxx in your Websphere server [ref attached screenshot]
if your Bootstrap and Host name are correct, then you may need to check if your Firewall is opened for your host xxxxxx with the Port xxxx.
Infosys Ltd
US
Thanks Kanneesh. Changing the port number actually worked and now i am able to establish the connection succesfully. However when i try to do a test connectivity on the Connect-JMS rule i am getting the following incompatible class cast exception. Any ideas on how this can be resolved?
Status
Fail
Message
JNDI lookup of JMS connection factory 'jms/PEGA.QCF' failed: java.lang.ClassCastException: com.ibm.ejs.jms.JMSQueueConnectionFactoryHandle incompatible with javax.jms.ConnectionFactory
Accenture Technology Solutions Pte Ltd
SG
Are you using the below context factory while establishing the connection using iiop in your JNDI Server configuration ?
Use this ConnectionFactory if you are not using it.
com.ibm.websphere.naming.WsnInitialContextFactory
Infosys Ltd
US
I am referring the same context factory.
Please see below
com.ibm.websphere.naming.WsnInitialContextFactory
-
Revathi Sundararaju
Accenture Technology Solutions Pte Ltd
SG
Please refer this IBM Websphere support link