IBM WebSphere MQ JMS Jar Files - jms

I am using SAP PI to connect with IBM MQseries (v 5.3).
Whenever there is a n/w problem or any outage on WebSphere MQs, the SAP interfaces error out with the message "Completion Code 2, Reason 2161, MQJMS2002". To fix this, we are being asked to deploy new client files. Can anyone help us find these jar files. I have downloaded the v7 client from http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24019253&loc=en_US&cs=utf-8&lang=en, but it doesn't contain jar files. It has rte files.

For anyone locating this question and wanting an answer it is now (quite recently) possible to obtain the MQ JMS jar files for direct use rather than having to go through an install.
Read more about it here: Obtaining the WebSphere MQ classes for JMS

The .jar files are in MQC7 (the WebSphere MQ V7.0 Clients supportpac), which is where your link goes. The install location varies with platform, but will be a java/lib directory under the main install path e.g. on Linux it would be /opt/mqm/java/lib

Related

Liberty Profile and MQ version conflict

I currently have an environment where I am trying to get a Liberty Profile v8.5.5.9(using Java 7) to utilize a WebSphere MQ v9.0.3(using Java 8). These two are on the same box, the server.xml is configured correctly, but I'm getting a namespace error when I'm trying to do a direct client connection.
I'm just trying to rule out if there's a problem using these two versions together that would cause a JNDI problem.
There apparently is a conflict between the two environments. Once I removed 9.0.3 and installed 7.5(MQ) it now works.

How update WildFly 10.1.0Final Apache Artemis 1.1.0 to Apache Artemis 1.3

I have installed WildFly 10.1.0.Final I I created a Stomp over Websocket client to in Javascript to connect directly to a topic in Artemis.
I connect an subscrite two clients but when I close or unscribe one of the two clients, the others spot recive messages.
I found a mail-list that have exactly discribing the same problem.
http://activemq.2283324.n4.nabble.com/STOMP-server-quits-sending-to-all-subscribers-when-one-client-disconnects-td4713980.html
One user called "johndament" mention that the auto creation feature fixes this error (in v1.3). Then "Ed Kaltenbach" solve the problem updating the ActiveMQ artemimis version from v1.1.0 that is shipped with wildFly 10.1.0.Final to v1.3
Can helpme to update the version and recommendations?
These are the files after download and unzip ActiveMQ 1.3 from the official site:
The following instructions work for updating to Artemis 1.3.
Note that I also tried this for Artemis 1.5, this did NOT work....
1) copy apache-artemis-1.3.0/bin/lib/* to wildfly-10.1.0.Final\modules\system\layers\base\org\apache\activemq\artemis\main\lib (replace the existing *.so files)
2) copy all Jars from apache-artemis-1.3.0/lib to the corresponding subdirectory in wildfly-10.1.0.Final\modules\system\layers\base\org\apache\activemq\artemis. Copy all files to the location where you find a Jar file with the same name but different version. Remove the old Jar files, and make sure you also change the version numbers in the respective module.xml.
Some files from apache-artemis-1.3.0/lib don't have a corresponding file in wildfly-10.1.0.Final\modules\system\layers\base\org\apache\activemq\artemis. You can ignore these files.

Can i use .rar file in class path for a standalone Java program to pick up?

I have a standalone Java program which sends a message to MQ and receives a message. I need to use the wmq.jmsra.rar which has 10+ jar files in it. It works fine, if I unzip the rar and use jars in the classpath. I was wondering whether there is a way i can use this .rar file directly instead of unzipping it and adding each jar into classpath or adding the folder to classpath.
My question is related to this, but different... Is it correct or incorrect for a Java JAR to contain its own dependencies?
Thanks
Jugunu
The Resource Adapter (wmq.jmsra.rar) should be used when configuring a JavaEE application server. Details on getting that are at http://www-01.ibm.com/support/docview.wss?uid=swg21633761
Please don't unzip this to get at the component parts; instead use the MQ Classes for JMS 'allclient' jar or the OSGi bundles. Information on how to get those are available at http://www-01.ibm.com/support/docview.wss?uid=swg21683398
Those technotes give information for the latest releases. The 'allclient' is a v8 statement only - however installation of the client support packs (eg MQC75) will give you access to the JMS client.

MQSeries CSIException: JMSCS0002 but classpath looks ok for commonservices

In trying to connect from an MQSeries 7.5 client to a 7.5 local server I'm getting a CSIException: JMSCS0002 which when I look up the error in the IBM codes says:
JMSCS0002
The call could not be completed because CommonServices has not been initialized.
CommonServices is an internal component and needs to be initialized at startup but has failed.
Check that the installation and classpath setup is correct.
But both my compile and run classpaths include com.ibm.mq.commonservices.jar, com.ibm.msg.client.commonservices.jar, and com.ibm.msg.client.commonservices.j2se.jar
I'm was using Oracle JDK 1.6. I tried using the WS MQ java but it made no difference.
Any help appreciated. Thanks.
Caused by: com.ibm.msg.client.commonservices.CSIException: JMSCS0002
at com.ibm.msg.client.commonservices.workqueue.PIWorkQueueManager.enqueueItem(PIWorkQueueManager.java:67)
at com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.enqueue(WorkQueueManager.java:225)
at com.ibm.msg.client.commonservices.workqueue.WorkQueueManager.enqueue(WorkQueueManager.java:194)
at com.ibm.msg.client.wmq.common.internal.WMQThreadPool.enqueue(WMQThreadPool.java:91)
I had been using jar files from an uninstalled MQSeries 7.5 Client because I wanted to make sure that the functionality I was using would work just with the jars provided by the free client license. According to IBM documentation taking uninstalled jars is problematic.
When I switched to the jars from the installed server trial then things works ok.

Websphere 6.1 to 7.0 JmqiObject and JmsQueue missing

I am trying to migrate an application from Websphere 6.1 to 7.0
I noticed that many of the ibm MQ/JMS classes have changed/disappeared =)
In particular, I am getting errors on
com.ibm.msg.client.jms.JmsQueue
com.ibm.mq.jmqi.JmqiObject
it is saying "...cannot be resolved. It is indirectly referenced from required .class files"
Does anyone know what I can do to get this to compile?
thanks
Hard to say exactly from the description so I'll provide some general pointers that may be of help.
The WMQ JMS and Java support was completely rewritten in V7 to use a common JMQI layer. This will affect the jar files that are referenced as well as the CLASSPATH and a few other things.
If you have bundled the WMQ jar files into your application, you will want to delete them and reference the ones installed with WAS instead.
If you used MDB listeners, you will need to switch to Activation Specs.
For more info, see the Integration of WebSphere MQ classes for JMS with WebSphere Application Server section in the WMQ V7 Migration manual and the CLASSPATH settings from the Environment section in the WMQ V7 Using Java manual.
The WebSphere Application Server V7 Migration Guide does not address WMQ in depth but it does have pointers to additional migration resources such as IBM Education Assistant as well as specific application and profile migration advice.

Resources