Client jar file version for IBM MQ7 and MQ8 - jms

Our product will support IBM MQ7 and MQ8 based on client requirement. Now, we like to know latest client jar version that we may use for our application?
We would like to use JMS 1.1 specification. I have found following link for MQ 7.5 JAR-
http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q120070_.htm
Is it sufficient if we use above mentioned client jar to connect MQ 7 and MQ 8 server?
Application will use JRE 1.7 and WAS liberty 8.5.5.9.

If you are using WebSphere Liberty as your application server, then you will need to the MQ JCA Resource Adapter (MQ-RA) to make use of MQ JMS messaging. Liberty (unlike traditional WebSphere Application Server) does not ship a copy of the MQ-RA, but you can download and install one pretty easily and then link to it from within the Liberty server's server.xml configuration file. Here's a link to explain how to do this:
http://www-01.ibm.com/support/docview.wss?uid=swg21633761
Now, Liberty can use a copy of the WebSphere MQ V7.5.0.5 (or later) Resource Adapter, which only supports the JMS 1.1 API, and the Liberty feature you will want to enable with that version is "wmqJmsClient-1.1".
However, I would suggest you consider the latest version of the IBM MQ-RA (at the time of writing this is V9.0.0.0). The MQ V8.0.0.3 and V9 RAs support both the JMS 1.1 "classic" API as well as the newer 2.0 "simplified" API. Therefore you can use the newer MQ-RA levels but your JMS 1.1 application will still work perfectly fine. If using a V8 or V9 IBM MQ-RA, then the Liberty feature to enable to is "wmqJmsClient-2.0".
The V7.5, V8 and V9 MQ Resource Adapters can connect to any MQ queue manager version; the major or maintenance versions between the JMS client and the MQ server do not need to match.
For reference, here are a couple of links I recommend reading over as well:
http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q031610_.htm
http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/twlp_dep_msg_wmq.html
http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/rwlp_restrict.html
I hope this helps!

Related

IBM MQ SDK depending on the client

My understanding is that if I am using in my application the IBM.XMS.dll I aslo need to have installed in the application server the MQ Client to allow connections with the MQ Server.
What about the new libraries which support .NET Core amqmdnetstd.dll & amqmxmsstd.dll?. Are they independent of the MQ client?. Is it enough to have those DLLs bundled in your application, so you don't need the installation of MQ client in the application server?
I assume you are working with MQ 9.1.
Installing IBM MQ classes for .NET Standard says that amqmdnetstd.dll is the successor of amqmdnet.dll, and Using XMS with Microsoft .NET Core says that amqmxmsstd.dll is the successor of the IBM.XMS.* libraries. These two articles link both to Using the stand-alone IBM MQ .NET client, which says that you can use only the DLL as MQ client.
So reading all this I would say that is enough to bundle the two DLLs with your application.

Can I upgrade my MQ version to 9.0 while still using WAS 8.5.5?

My employer has an application running on WAS server 8.5.5. It uses MQ client adapter to connect to a MQ setup on version 7. Now my employer is upgrading to version 9 on the MQ but want to retain the WAS server at 8.5.5. Is this possible? In one of the IBM articles I saw the following:
The IBM MQ Version 9.0 resource adapter cannot be deployed into earlier versions of WebSphere Application Server, as these versions are not Java™ EE 7 certified.
If your question is specifically on traditional WAS (rather than Liberty profile), then the answer is yes.
tWAS bundles a level of MQ resource adapter, and this bundled RA inherits the support lifecycle of the application server. [This support does not apply to other versions of the MQ resource adapter that have been manually applied to the tWAS installation, and so using the bundled RA is generally recommended.]
Any supported MQ client can communicate with any supported MQ queue manager, as either side will negotiate the version of MQ communication flows in use down to the mutually appropriate level. This means that the MQ 7.1 resource adapter can communicate with a version 9.0 queue manager, although of course any connections that this client makes will not be eligible to use functionality added to the product after 7.1.

Can IBM Websphere MQ client be used without installing

I want to use IBM Websphere MQ client v7.5. I am writing standalone JMS client application to send and consume messages from the IBM WebsphereMQ server(which is running somewhere else but I have authority to send/receive messages)
I followed steps below:
Installed Websphere MQ client(Free version for 6 months) and did all basic installation.
I copied required Jar to other location/host and wrote a sample JMS application to send/receive messages. I am able to communicate to with the server.
My questions is : Can I use these Jars independently on any host(even in production) for life long or I should buy proper licence, install the client and then use those JARs ?
Thanks,
Anuj
MQ v8.0.0.4 provides exactly what you want. See here: http://www-01.ibm.com/support/docview.wss?uid=swg21969244. Look for IBM MQ JMS and Java 'All Client'. Client is free but whoever runs the queue manager must have appropriate licenses.

Version of MQ in WAS 8.5.5

I'm trying to migrate an EJB application from WAS 6 to WAS 8.5.5 and seems to not work entirely, doesn't respond correctly to the message-selector filter I'm using in ejb-jar.xml.
Can somebody tell me the version of MQ server supported in WAS 8.5.5 ?
The version of the MQ client (in the MQ Resource Adapter form) in WAS 8.5.5 is MQ 7.1. This page provides the list of the exact version of the client for each WAS level: https://www-304.ibm.com/support/docview.wss?rs=171&uid=swg21248089
The MQ server supported can be any currently supported version i.e. you can use MQ Server 8/7.5./7.1/7/6 etc with a MQ 7.1 client. However, there are features that might not be available if you are using a certain combination client/server.
For your issue it is probably best to post a new question with the actual error you are seeing.
If you have a Websphere MQ full installation, MQ 8.0 is already out but please check the following information about WAS 8.5 and MQ 7.5: http://www-01.ibm.com/support/knowledgecenter/prodconn_1.0.0/com.ibm.scenarios.wmqwasmig2v85.doc/topics/ts_mqv7cons.htm?lang=el
There are two alternatives depending on what you want to migrate before the other : MQ or WAS.

MQ Extended Transactional Client

Is Extended Transactional Client installed by default? How do I verify if this is installed or not? How do I get this installed?
In previous versions of the MQ client, it certainly wasn't included with the standard client (the Transactional Client had cost / licensing implications).
However from the date of the announcement of WMQ v7.5 onwards it is now included with the Standard clients at v7.0.1 and up.
From the IBM Websphere site
With the availability of WebSphere MQ V7.5 the capability previously
delivered within the Extended Transactional Client is incorporated
into the standard WebSphere MQ client.
And in more detail, here
Wider access to the Extended Transactional Client for all customers
The Extended Transactional Client enables customers to configure their
WebSphere MQ client to participate in a transactional unit of work
when exchanging messages to an MQ server. Use of this client without
charge was previously restricted to customers using WebSphere
Application Server, WebSphere Enterprise Service Bus, or WebSphere
Process Server as the Transaction Manager. With the announcement of
WebSphere MQ V7.5, the Extended Transactional Client is available for
use in all client deployments without additional entitlement. This
includes all supported versions of WebSphere MQ client connecting to
any supported version of WebSphere MQ queue manager.
With the availability of WebSphere MQ V7.5 the capability previously
delivered within the Extended Transactional Client is incorporated
into the standard WebSphere MQ client. Customers using WebSphere MQ
V7.0.1 and WebSphere MQ V7.1 gain the benefit of use of the Extended
Transactional Client without charge from the date of this
announcement. IBM is making available refreshed code including updated
License Information. Customers can realize this benefit through the
download and acceptance of this new License Information.
The XTC component used to be provided separately with the queue manager and required both a license and a separate install step. As of this year, it is free and built into the client. All of the client software downloads have been updated with the XTC capabilities and there is no longer a separate component. To obtain it, just download and install the latest client. Recommended to use the v7.5 client if at all possible but everything from v7.0 and up is available and supported.
V7.0 - SupportPac MQC7
V7.1 - SupportPac MQC71
V7.5 - SupportPac MQC75

Resources