|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Error Code 2082 when resolving queue over cluster |
« View previous topic :: View next topic » |
Author |
Message
|
hilltops |
Posted: Sat Jun 09, 2007 1:43 am Post subject: Error Code 2082 when resolving queue over cluster |
|
|
Centurion
Joined: 01 Mar 2006 Posts: 112
|
I am getting the error code 2082 (MQRC_UNKNOWN_ALIAS_BASE_Q) when trying to resolve a queue local over a cluster.
My environment is set up as follows; I have got an MQ cluster with two queue managers QM_A and QM_B. QM_B act as the gateway into the cluster and all connection must pass thru QM_B as this is where we implement our security checks.
An application connection to QM_B over MQ client connection. This application is a 3rd party product over which we have no control. Messages arrive to a queue local on QM_B from QM_A. The application is design to poll this queue on QM_B and then send responses back to QM_A via a queue alias. Thus;
QA(alias on QM_A for request) -----> QL(clustered queue on QM_B for request)
QL(clustered queue on QM_A for Resp) <--- QA(alias on QM_B for Resp)
All queue objects are defined with the attribute DEFBIND(NOTFIXED). When the application tries to open the queue on QM_B, I get the error code 2082, suggesting that MQ is trying to resolve the target on the local queue manager, QM_B. However, this should be being resolved over the cluster to the QM_A.
I suspect the application is opening the queue alias using code like this;
MQQueue q = qmgr.accessQueue("QA on QM_B", openOption, "QM_B", null, null);
I have tested this idea on a small sample application and I also get 2082.
Has anyone come across this and found a solution around this problem. I know if I omit the QM_B in the method above it works, but for this application we have not access to the code.
Thankx |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Jun 09, 2007 5:24 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
The response is best left without any aliases. The app on QM_B should just send the response to the qmgr and queue as stated in the reply to fields of the request. The requestor specifies the qmgr and queue name it wants the reply be sent to. This replyto queue does not need to be clustered.
Cluster resolution will only come into play for the routing from QM_B to QM_A and should not play any role with the queue resolution. Remember the replyto queue could be a temporary dynamic queue...
You are only talking about 2 qmgrs but the typical scenario here would have clustered clones of QM_B for load balancing...
And remember the golden rule
Keep
It
Simple
S
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
mvarghese |
Posted: Sun Jun 10, 2007 7:06 pm Post subject: |
|
|
Centurion
Joined: 27 Sep 2006 Posts: 141
|
Try out by setting CLWLUSEQ(ANY) in qmgr and cluster Q.Make sure that ur Alias q, also with proper setting if u had. _________________ Jain Varghese |
|
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
|
|
|
|