1

I'm using RAD 9.0 and trying to configure Queue connection factories in WebSphere Application Server 8.5. I have IBM MQ 7.0 (32-bit) installed on the same machine (Win7 64-bit).

After configuring Queue connection factories when I click on Test Connection it give an error :

A connection could not be made to WebSphere MQ for the following reason: CC=2;RC=2495;AMQ8568: The native JNI library 'mqjbnd' was not found. For a client installation this is expected. [3=mqjbnd]

Native library path (under JMS>WebSphere MQ messeging provider) is set to C:/Program Files (x86)/IBM/WebSphere MQ\java\lib.

I also tried to set it to C:/Program Files (x86)/IBM/WebSphere MQ\java\lib64 but still I'm getting the same error.

Also is it necessary to configure Queue Connection Factory for configuring Listener Port for MDB?

halfer
  • 19,824
  • 17
  • 99
  • 186
HyperioN
  • 3,433
  • 2
  • 22
  • 36
  • Is the MQ installation a client one? Client installations don't come with mqjbnd.dll. The connection factory in this case needs to be amended to connect through a SVRCONN channel and not through bindings mode. – Umapathy Jul 15 '14 at 11:08

2 Answers2

1

The error message means you have configured the connection factory to have a transport type of Bindings and so the WMQ Resource Adapter within WAS needs to load the native libraries located in the MQ installation (note the MQ client installation does not come with these libraries).

Assuming you want to connect in Bindings mode AND you have a full local MQ Server installation on the same box as the WAS server then you will need to configure the 'Native Library Path' on the WebSphere MQ messaging provider panel in WAS (Resources > JMS > JMS Providers). You should alter the provider that is at the same scope as the defined queue connection factory.

The MQ_INSTALL_ROOT property is an old property used in WAS 6.0 and WAS 6.1 and is only intended to be used for migration reasons in WAS 7 and onwards.

Note: If you have an ND environment then the 'Test Connection' operation could potentially run on the dMgr process rather than the server. If your dMgr is on a different host then the libraries will not be found. In this case you should ensure that the application server is running before selecting the 'Test Connection' button.

whitfiea
  • 1,943
  • 10
  • 15
  • the issue got resolved. i was using transport type as "Bindings" instead of "Bindings, then client" for connecting to MQ. – HyperioN Jul 15 '14 at 16:09
0

WAS uses environment variable MQ_INSTALL_ROOT to point to (embedded) WebSphereMQ Client (Environment->WebSphere Variables). Default value is ${WAS_INSTALL_ROOT}/lib/WMQ. I think you don't need a separate installation of WebSphereMQ client - it comes with WAS (I'm working with WAS8, but I guess they did not change it in 8.5). As for your question, it might be the issue with the path: it uses spaces. Try to install WebSphereMQ client libs in a directory without spaces (e.g. C:\IBM\WMQClient). But I think you do not need it, check directory ${WAS_INSTALL_ROOT}/lib/WMQ - it should be there.

And about Activation Specification - you don't need Queue Connection Factory, you need only queue definition where Activation Specification will connect to.

Magic Wand
  • 1,572
  • 10
  • 9
  • thanks for answering. I checked my env. variables but i didn't find MQ_INSTALL_ROOT. Anyways i created one but the problem still persists. I tried moving the WMQ folder to other location such that the path doesn't have spaces but still i'm getting the same error. I also tried restarting RAD after changing the env variables but no luck. What am i missing here? – HyperioN Jul 15 '14 at 10:47
  • I'm using MQ queue as JMS provider.I just want to configure listener ports for mdb.It asks for Connection factory JNDI name and Destination JNDI name.Can you tell me where can i get these names? Do i need to configure queue connection factory? i'm new to this. pls help. – HyperioN Jul 15 '14 at 11:10
  • Hum, that's weird. I have checked my WAS 8.5 installation and this env variable exists. Do you have directory ${WAS_INSTALL_ROOT}/lib/WMQ? Have you restarted WAS after change in configuration? Maybe you can try set MQ_INSTALL_ROOT on directory where you have installed WMQ Client (location without spaces) and restart WAS? – Magic Wand Jul 15 '14 at 11:48
  • Sorry, did not realize you want to set up listener port. For listener port you should have both Queue Connection Factory and Queue defined. – Magic Wand Jul 15 '14 at 11:50
  • Maybe a little clarification here: WebSphereMQ client is installed as part of WAS installation as RAR (Resource Archive) and acts like JCA adapter. I think you should use this embedded JCA adapter. – Magic Wand Jul 15 '14 at 11:53