Author |
Message
|
dertel |
Posted: Wed Jun 11, 2008 9:58 am Post subject: DEFBIND(NOTFIXED) not working from WAS apps using JMS |
|
|
 Novice
Joined: 17 Dec 2003 Posts: 15
|
We are using WAS 6.1 and MQ 6.0. We have 2 WAS servers in a WAS cluster that put messages to MQ-clustered queue managers. Each WAS server is on a separate physical node that has its own queue manager. The queue are defined as cluster queues, and they have the DEFBIND setting of NOTFIXED.
We're seeing all of our messages go to the same queue manager (it is not using a round-robin algorithm, as we had expected. It is as if the DEFBIND option is set to OPEN. My guess is that the WAS app (using JMS) is overriding the DEFBIND option when it opens the queue. I don't know JMS well, and I'd like some help in determining how to specify the desired DEFBIND option in JMS.
If we PUT INHIBIT the queue on the queue manager where the messages are going, then they will go to the other queue manager. |
|
Back to top |
|
 |
vennela |
Posted: Wed Jun 11, 2008 10:45 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
I think, the QueueConnectionFactory definition of both the servers are pointing to the same QueueManager rather than its own QMGR
Look at the QCFs of both the WAS servers |
|
Back to top |
|
 |
ADV |
Posted: Wed Jun 11, 2008 11:31 am Post subject: |
|
|
Apprentice
Joined: 24 Apr 2007 Posts: 44 Location: Boston, MA
|
What is HOST parameter given for the Queue connection factory? Is it a cluster name or just the host address of the box where QM resides? |
|
Back to top |
|
 |
vennela |
Posted: Wed Jun 11, 2008 11:55 am Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
ADV wrote: |
Is it a cluster name or just the host address of the box where QM resides? |
I think he is not using hardware clustering |
|
Back to top |
|
 |
dertel |
Posted: Wed Jun 11, 2008 12:02 pm Post subject: |
|
|
 Novice
Joined: 17 Dec 2003 Posts: 15
|
The QCFs are referencing the separate queue managers.
I should have stated this originally, but the problem we're having is not even with those 2 queue managers, but with 2 other queue managers (that are attached to brokers). All 4 qms are in the same cluster. The queues we're having the problem with are defined on the brokers qms as cluster queues; they are not defined in the WAS qms; they are also referenced in the JMS QUEUES in the WAS admin console where they appear as the Base Queue Name. |
|
Back to top |
|
 |
dertel |
Posted: Wed Jun 11, 2008 12:16 pm Post subject: |
|
|
 Novice
Joined: 17 Dec 2003 Posts: 15
|
The host parameter for the qcf is just the host address of the box. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jun 11, 2008 2:50 pm Post subject: Re: DEFBIND(NOTFIXED) not working from WAS apps using JMS |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
dertel wrote: |
We are using WAS 6.1 and MQ 6.0. We have 2 WAS servers in a WAS cluster that put messages to MQ-clustered queue managers. Each WAS server is on a separate physical node that has its own queue manager. The queue are defined as cluster queues, and they have the DEFBIND setting of NOTFIXED.
We're seeing all of our messages go to the same queue manager (it is not using a round-robin algorithm, as we had expected. It is as if the DEFBIND option is set to OPEN. My guess is that the WAS app (using JMS) is overriding the DEFBIND option when it opens the queue. I don't know JMS well, and I'd like some help in determining how to specify the desired DEFBIND option in JMS.
If we PUT INHIBIT the queue on the queue manager where the messages are going, then they will go to the other queue manager. |
This is normal default behavior and has nothing to do with JMS.
You need to check the new queue attributes (V6) and change the behavior to load balance even when the put is being done by the qmgr hosting the queue (default behaves like MQ V5).
You might also have to create a cluster alias and use it to specify a qmgr on the Destination, although it should be sufficient to specify a blank qmgr in the Destination.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
dertel |
Posted: Thu Jun 12, 2008 5:15 am Post subject: |
|
|
 Novice
Joined: 17 Dec 2003 Posts: 15
|
The problem is not with the local qm; we are putting to a cluster queue on a remote qm.
I think our issue relates to a 'cluster alias', as described in http://www.mqseries.net/phpBB2/viewtopic.php?t=31597. We have created a qremote in both of the WAS qms; this qremote has a blank remoteqmgr and remoteqname. We used that qremote name as 'Base queue manager name' in the queue definition in WAS. We restarted the WAS servers. The messages still all go to just one of the brokers.
Does the qremote need to be created in the broker qms (where the clustered queue is local)? Are we putting it in the correct place in the WAS configuration? |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jun 12, 2008 1:08 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You need to check 2 attributes on the clustered destination:
CLWLUSEQ( LOCAL | ANY | QMGR )
and
DEFBIND( NOTFIXED | OPEN )
DEFBIND needs to say NOTFIXED and CLWLUSEQ should say ANY.
You need to make sure these attributes are not overwritten in JNDI. If you define the queues through an URI check first in a test system what the URI should look like (?attrib=value&attr=value)
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|