I'm trying to configure HermesJMS v1.14 with WebSphereMQ v8.0, but I can not. I've seen several tutorials, and I've followed them, although none were exactly these versions.
This is what I've done. I've downloaded this trial version MQ V8.0 Trial for Multiplatform Multilingual eAssembly. I've installed it following these instructions http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.ins.doc/q008640_.htm?lang=en.
Then, I open HermesJMS and set the provider like first part of demo_mq.html (outdated link removed), but the libraries are:
- com.ibm.mq.commonservices.jar
- com.ibm.mq.jar
- com.ibm.mqjms.jar
- com.ibm.mq.pcf.jar
Then I click on Scan, this is important, because this step is supposed to load all the classes of the jars, which we have to use later.
Then I create the session, using the Loader I've just configured and, when you change the Loader, the combo with the Classes should refresh with the Connection Factories, in particular I have to use com.ibm.mq.jms.MQQueueConnectionFactory, but it doesn't appear, seems like the previous step of scanning doesn't work.
I've looked into the jars, and I know the class MQQueueConnectionFactory is inside com.ibm.mq.jar.
So, is there any step I forgot? Do I need other libraries?
Don't hesitate to ask for more information.
Thanks in advance.
UPDATE:
Adding more information based on T.Rob answer
You didn't mention having applied the Fix Pack. There are a number of Java fixes in 8.0.0.1-3 that might make your setup more interesting and which you'd want to avoid.
Yes, I used it, I forgot mention that, sorry.
The same page also explains that the setmqjmsenv program can be used to set up the environment
I didn't mention this, I used setmqenv to configure PATH environment variable.
SOLUTION to this 1st problem:
I already solved it, but I think there is no "procedure" to do that, I found this in this web http://talksoa.blogspot.com.es/2013/12/configure-hermes-jms-to-connect.html
Wait, found a solution. You must first select the classpath group name, in the case above its WMQ7, from the drop down in the middle pane next to the 'Loader:' Then go back up to the first pane and select IBM WebSphereMQ under plugin
I did something like this and voila! The class appears. Now I'm trying to configure the properties:
- Plug In: IBM WebSphereMQ
- Connection Factory: Class -> com.ibm.mq.jms.MQQueueConnectionFactory
- Property: hostName ->
- Property: port -> (I had to change the default port 1414)
- Property: queueManager -> MY.QUEUE.MANAGER
- Property: transportType -> 1
And, when I do Right button -> Discover I get the following error:
ERROR hermes.browser.tasks.HermesBrowserTaskListener - MQJE001: Completion Code '2', Reason '2035'.
I've looking for this error and it seems to be an authority error, so I've done:
setmqaut -m MY.QUEUE.MANAGER -t qmgr -g <myUser> +all
myUser is a user which I added to mqm group.
Hope you can help me.
Thanks.
You might want to try using IBM's specification for the
CLASSPATHas found in the same documentation manual that you linked above. Their page Environment variables used by IBM MQ classes for JMS explains that you need only include one jar in theCLASSPATHand the manifest pulls in the others.The same page also explains that the
setmqjmsenvprogram can be used to set up the environment. You can run that, then capture the environment variable settings and arrange for Hermes to inherit them through explicit settings or through the service ID used to launch it.Also, be sure to use the IBM-provided tools to validate that the client has been properly installed and that you can connect to MQ using a known-good piece of software. It would be unfortunate to struggle away with Hermes for a week only to find out the MQ listener is on a different port or that you spelled the channel name wrong.
You didn't mention having applied the Fix Pack. There are a number of Java fixes in 8.0.0.1-3 that might make your setup more interesting and which you'd want to avoid.
If you go to the websphere-mq tag wiki, you will find links to MQ Advanced for Developers. It's a full-function, non-expiring, version of MQ you can have for free. The trial download will eventually expire. Hopefully not before you get Hermes talking to it, but it will expire and usually at the most inopportune moment.
There too will be some links to the Fix Packs, but you can also easily (yes, that's debatable) find these by going to IBM Fix Central and searching.