|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Client vs Bindings |
« View previous topic :: View next topic » |
Author |
Message
|
vandana |
Posted: Wed Dec 05, 2001 2:14 am Post subject: |
|
|
Acolyte
Joined: 01 Dec 2001 Posts: 74
|
I'm working on MQSeries on java(Windows NT 4.0)
I initially worked with the client mode
giving the hostname,portno and the channel name.the appliction did put the message the queue.
Now I added the following
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_BINDINGS);
and commented out the details specifying
the hostname,portno and the channel name.
I got a runtime error of a missing dll
named mqjbnd02.dll.so i copied the dll into the path where i was working.the application
did work and i could out the message on the
queue.
The problem is even when i comment out
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_BINDINGS);
the message is put in the queue when the specified dll is in the path.
The docs state
MQC.TRANSPORT_MQSERIES is the default, which selects bindings or client based on the value of "hostname".
If i did not speficy bindings and
no details of hostname are given
why does it not give a runtime error ??
|
|
Back to top |
|
 |
vandana |
Posted: Wed Dec 05, 2001 2:48 am Post subject: |
|
|
Acolyte
Joined: 01 Dec 2001 Posts: 74
|
i have another problem.
using the client connections mode
i can connect to a qm on a diff mac
specifying the hostname,portno,svrconn channel name,qmname and the q name of the other mach.
using the bindings mode i cannot do so.
can i connect only to a qm created on my mac using the bindings mode?
|
|
Back to top |
|
 |
ewan_withers |
Posted: Wed Dec 05, 2001 5:05 am Post subject: |
|
|
Newbie
Joined: 04 Dec 2001 Posts: 3
|
An MQSeries Java Bindings Connection to a queue manager can only be made if the application is running on the same physical machine as the queue manager. This method of connection uses the mqjbnd02.dll, hence you need it. It is also the default setting in the MQSeries Java environment. A bindings connection makes no use of hostname, port or channelname - it is a direct connection to the queue manager.
An MQSeries Java Client Connection to a queue manager can be made from either the same machine or a different machine to that where the queue manager exists. It does not need the mqjbnd02.dll. You need to alter either your MQEnvironment directly or set hostname, port and channelname (and then they'll get picked up by the default Environment setting of MQC.TRANSPORT_MQSERIES).
Setting the Environment to BINDINGS or CLIENT will force that type of connection - so if you choose BINDINGS from another machine to that where the queue manager is it will fail, and likewise if you choose CLIENT and then don't set the hostname, port and channelname.
So to answer your questions:
1. BINDINGS not specified and no hostname does not give a runtime error because the default Environment setting chooses bindings because you've not set the hostname.
2. Correct. You can only connect with bindings to a queue manager on the same machine as your application.
Hope this helps,
Ewan |
|
Back to top |
|
 |
vandana |
Posted: Wed Dec 05, 2001 8:11 pm Post subject: |
|
|
Acolyte
Joined: 01 Dec 2001 Posts: 74
|
Thanks !!
i think i've understood.
in which cases would u use a client connection or a bindings mode.
|
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|