|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
JMS with MQ Cluster |
« View previous topic :: View next topic » |
Author |
Message
|
nyey |
Posted: Wed Apr 09, 2003 11:29 am Post subject: JMS with MQ Cluster |
|
|
Acolyte
Joined: 13 Mar 2003 Posts: 57
|
Just want to confirm this:
If I have a cluster, which has a gateway qMgr. It will communicate with other QMgrs whoch host real Qs.
Can JMS use the Qs like a local Q even they are remote physically so that I can create my administered objects?
Thanks. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Apr 09, 2003 12:47 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
It doesn't matter if it's a cluster queue or a remote definition. If there isn't a local queue on the queue manager you are connected to, you can't get from it.
So, suppose your app connects to QM1. QM1 hosts Q1, Q2, and Q3 which are shared in the cluster and also defined remotely on QM2. Q4 is a remote defininiton to Q4 on QM2. Q5 is a clustered definintion of Q5 on QM3. You can get from Q1, Q2 and Q3. You can put to all five queues.
Suppose your app connects to QM3. There, you can only get from Q5, but you can put to Q1, Q2, Q3, and Q5. QM1 is the gateway to the cluster, so you can't get from or put to Q4.
Now suppose your app connects to QM2. You can put to Q1, Q2, or Q3 because you've set up remote definitions to those queues on QM4. You can't put to Q5 since it's only shared in the cluster. You can get or put to Q4. |
|
Back to top |
|
 |
techno |
Posted: Wed Apr 09, 2003 1:21 pm Post subject: |
|
|
Chevalier
Joined: 22 Jan 2003 Posts: 429
|
I have a question here. Does application need to connect to a cluster queue (available in repositories) using server connection or client connection? Am I right in saying that it should go through client connection?
Thanks
Shiva. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Apr 09, 2003 1:31 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The decisions about server bindings or client bindings should be based on what the application is doing, not whether the queue manager is in a cluster or not.
Obviously, you can't use the server bindings if the application is not running on the same machine as the queue manager. If it is, you should examine whether you need coordinated transactions. If you do need coordinated transactions, you could use the new Extended Transaction client for 5.3, or you have to use server bindings for older versions.
Using a server connection channel, or a client connection channel depends on maintaining an up to date channel table on the client machine. If you can't do that in some manner, it's better to use a server connection channel (for instance, SYSTEM.DEF.SVRCONN). But again, this has nothing to do with clusters. Clustering only affects what queues are visible from your application, and gives you load balancing and simplified administration. |
|
Back to top |
|
 |
nyey |
Posted: Wed Apr 09, 2003 2:23 pm Post subject: |
|
|
Acolyte
Joined: 13 Mar 2003 Posts: 57
|
Try to make it very very clear here from what you have said:
If I have a cluter I need to send msgs to, then it does not matter where the Qs are since they are in a cluster any way. I can just define the admin object like they are local. The JMS consumer will work fine.
If I want to have a JMS consumer, then the Q must be a local Q even it is a clustered a Q.
any thing missing here? |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Apr 09, 2003 4:43 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
If you are connecting to a queue manager that is in a cluster, then you can put a message to any queue that is shared in the cluster and to any local queue.
You can only get messages from local queues. |
|
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
|
|
|
|