Can I use just WebSphere's jar files with standard JMS to send messages to a WebSphere MQ server, or do I need to download their WebSphere MQ Client?
You can use just the jar files for both JMS and the native Java MQ API but the question is whether you really want to. The full client install includes sample programs in source and object form, utilities, tracing and more. When you open a trouble ticket with IBM they may ask for information that you would use these tools to gather. If you do not have the full install you may not be able to provide the requested diagnostic information. For this reason, IBM supports the full client installation. If you are just trying to learn JMS and writing a toy application this is probably OK. If the application is going into Production and you may want to get support on it someday, install the client.
The WMQ client install is free and available as SupportPac MQC7. It is a good is a to develop on the V7 client since it is compatible with the V6 QMgr. This saves you some testing when V6 goes out of service in September 2012.
Note that the JMS Thin Client referred to in another response is described in the Infocenter as "a Java service integration bus JMS client designed to run as an embeddable client in Java SE applications under the IBM®, Sun and HP Java run-time environments (JREs). The client supports no transaction and local transaction models." As noted there it is an SI Bus client not an MQ client, has limited platform support and lacks even single-phase commit. The actual WMQ client is specific to WebSphere MQ, has broad platform support and provides single-phase commit transactionality.
UPDATE:
As of April 24th 2012, there is no longer a charge for the Extended Transactional Client for any version of WMQ on any platform. I've removed the portion of the answer that explained the previous license terms.
You need the appropriate jars for creating what is called a JMS thin client. This will allow you to use standard JMS to talk to MQ. You do not need one of the specific clients unless you want access to the specific MQ API instead of JMS.
Ive seen app-teams do this on countless occasions.
Almost every time they will run into an issue at some point down the line and will then request support/help from their local support. Diagnosing an issue on an environment that none of the standard mq tools/logging/tracing is virtually impossible. You cant even find out what version of MQ it is (dspmqver)
Different jars from different installations get mixed up, emailed around etc...
I can never understand why people dont just install the client and be done with it. Is it that big a deal to lose however many hundred meg the install takes ?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With