T.Rob,

Boy, do I feel a little dopey right now.  I just spent all this time setting
up all my queues on the gateway QM, expecting them to be accessible across
the cluster.  Now I find that I have to delete them, and recreate each queue
on the particular node where I expect it to be read from.

Thank you for your patience and time in clarifying this for me.  I am still
not sure what I missed in the docs that spells this out clearly, so I guess
I will have to take yet another look through them to see what else I missed.

And my apologies to all of you who found yourselves reading through this
discussion, thinking to yourself "what a yutz - he just doesn't get it!"

Yup, that's me, the yutz from NYC.

Regards,
Dave A.


-----Original Message-----
From: Wyatt, T. Rob [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 24, 2004 4:05 PM
To: 'Awerbuch, David (CALYON)'; MQSeries List (E-mail)
Subject: RE: mmx can't open cluster queue - 2085


Dave,

You don't have, as quoted from the manual, "a cluster queue on the local
QMgr".  You just have an entry in the repository.  That's why when you do a
"dis q(*)" it doesn't show up.  You can't get messages from an entry in the
repository!

Clustering provides a namespace that extends to all the QMgrs in the
cluster.  Using that namespace, the cluster can route messages between QMgrs
and auto-define channels as needed.  But most everything else you know about
MQ stays the same.  Like with a remote queue, you can PUT messages to any
queue in the cluster namespace (i.e. local or in the repository) but you can
only GET messages from a local instance of a queue whether it's a cluster
queue or not.  That part doesn't change.  So in the manual where they talk
about "a cluster queue on the local QMgr" they are talking about a *local*
queue that is shared in the cluster.  It is available as a destination only
to non-local QMgrs and as both a source AND a destination to the local QMgr.

Hope that helps.
-- T.Rob

-----Original Message-----
From: Awerbuch, David (CALYON) [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 24, 2004 3:39 PM
To: MQSeries List (E-mail)
Cc: Wyatt, T. Rob
Subject: RE: mmx can't open cluster queue - 2085


T.Rob,

It has been my understanding, from what I have read, that a cluster shared
queue can be processed from all members QMs of the cluster.  Or, are you
saying that the readers of the queue must have a local definition of the
queue as well?  How do load-balancing configurations allow applications on
multiple QMs to share the load of a single queue?  Is there something that I
am not understanding correctly?  Are you saying that I have to have both the
cluster definition and a local definition?  I don't see why, though ....


Excerpted fFrom the "Queue Manage Clusters" manual, "Concepts" section:

"QM2 and QM3 host some queues that are accessible to any other queue manager
in the cluster. These are called cluster queues.
As with distributed queuing, an application uses the MQPUT call to put a
message on a cluster queue at any queue manager. An application uses the
MQGET call to <bold> retrieve messages from a cluster queue on the local
queue manager. </bold>"   (Emphasis is mine)

To my application, ofac_qm is the local queue manager, and there is a
cluster queue called gps.ofac:

E:\Apps\mmx>runmqsc ofac_qm
5724-B41 (C) Copyright IBM Corp. 1994, 2002.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager ofac_qm.

dis qcluster(*) all
     1 : dis qcluster(*) all
AMQ8409: Display Queue details.
   DESCR(WebSphere MQ Default Local Queue)
   CLUSTER(pay_cluster)                    QUEUE(gps.ofac)
   CLUSQMGR(pay_gw_qm)
QMID(pay_gw_qm_2004-06-23_15.52.35)
   CLUSDATE(2004-06-24)                    CLUSTIME(12.46.33)
   ALTDATE(2004-06-24)                     ALTTIME(11.32.37)
   CLUSQT(QLOCAL)                          TYPE(QCLUSTER)
   PUT(ENABLED)                            DEFPRTY(0)
   DEFPSIST(YES)                           DEFBIND(NOTFIXED)

So, still, why can't I open the gps.ofac queue for input?

Here are some more things I don't understand:
runmqsc pay_gw_qm
        dis q(*) --> lists gps.ofac among others as a type(qlocal)
        dis q(gps.ofac) --> reports object not found
        dis qcluster(*) --> lists gps.ofac among others
        dis qcluster(gps.ofac) --> reports object not found
        dis qcluster(g*) --> reports object not found

runmqsc ofac_qm
        dis q(*) --> reports only the SYSTEM.* queues
        dis qcluster(*) --> reports only gps.ofac as a queue, does not list
any of the other clustered queues.

All objects (queues, channels, etc) were created using MQExplorer; all the
queues were defined on pay_gw_qm, for cluster pay_cluster; pay_gw_qm and
ofac_qm are both members of pay_cluster (pay_gw_qm is a repository).

I hope I have spelled out the picture completely.  If there is any other
information needed, please just ask for it.

Thanks for everyone's future help.
Dave A.




-----Original Message-----
From: Wyatt, T. Rob [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 24, 2004 2:51 PM
To: [EMAIL PROTECTED]
Subject: Re: mmx can't open cluster queue - 2085


Dave,

If I read you right, you are trying to open a queue on pay_gw_qm from
ofac_qm for input, right?  Even in a clustering environment, the queue you
are trying to open MUST be local on the QMgr to which you are connected.  In
this case, only processes connected to pay_gw_qm (either locally or via
client) could open the specified queue.

-- T.Rob

-----Original Message-----
From: MQSeries List [mailto:[EMAIL PROTECTED] Behalf Of
Awerbuch, David (CALYON)
Sent: Thursday, June 24, 2004 2:26 PM
To: [EMAIL PROTECTED]
Subject: mmx can't open cluster queue - 2085


Hello all,

I've have a situation I can not figure out, I thought someone might be able
to throw some light on it for me.  I am setting up a proof of concept where
I have a MQ cluster for each business unit, all queue for that cluster
defined on a gateway QM, and the gateways talking to each other.

I am using the MMX application from Roger's www.CapitalWare.biz website to
try to read a message from a queue and write it back to another queue.

The mmx.ini file contains:
SequenceNumberFlag = N
TimeOut = 99999
LogFile = gps_ofac_mmx.log
PerformLogging = Y
GetBufferSize = 102400
QMgrName = ofac_qm
InputQName = gps.ofac
OutputQCount = 1
OutputQName01 = ofac.gps

Both the InputQ and OutputQ are defined on the Depository QM (pay_gw_qm) as
local queues, shared in the cluster.  Using MQExplorer, I see both queues in
ofac_qm's Queue list.  Yet, mmx is getting a 2085 when trying to open the
queue:

2004/06/24 13:55:03 INFO    Line#00700:
********************************************
2004/06/24 13:55:03 INFO    Line#00704: MMX is now starting.
2004/06/24 13:55:03 INFO    Line#00714: Program Eyecatcher is MMX   01.00.00
Mar  5 2002 21:43:39 mmx.c
2004/06/24 13:55:03 INFO    Line#00717: Current Log file is gps_ofac_mmx.log
2004/06/24 13:55:03 INFO    Line#00720: PerformLogging=Y
2004/06/24 13:55:03 INFO    Line#00988: The following are the parameters
used for this execution.
2004/06/24 13:55:03 INFO    Line#01006:    Queue Manager Name: ofac_qm
2004/06/24 13:55:03 INFO    Line#01024:    Input Queue Name  : gps.ofac
2004/06/24 13:55:03 INFO    Line#01034:    Output Queue Count: 1
2004/06/24 13:55:03 INFO    Line#01057:    Output Queue #01  : ofac.gps
2004/06/24 13:55:03 INFO    Line#01070:    TimeOut value     : 99999
2004/06/24 13:55:03 INFO    Line#01080:    Get Bufffer Size  : 102400
2004/06/24 13:55:03 INFO    Line#01504: MQConn CC=0 RC=0 on connection to
ofac_qm
2004/06/24 13:55:03 ERROR   Line#01696: MQOpen CC=2 RC=2085 for gps.ofac
2004/06/24 13:55:03 INFO    Line#01589: MQDisc  CC=0 RC=0 on disconnecting
from ofac_qm
2004/06/24 13:55:03 INFO    Line#01126: Statistics of this executions:
2004/06/24 13:55:03 INFO    Line#01136:    Messages Read     : 0
2004/06/24 13:55:03 INFO    Line#01146:    Messages Written  : 0
2004/06/24 13:55:03 INFO    Line#01152: MMX is now stopping.

I don't understand why mmx can't open the queue for input.  Can anyone offer
some thoughts here?  According to WMQ Messages manual:
==================================
2085 == MQRC_UNKNOWN_OBJECT_NAME
An MQOPEN or MQPUT1 call was issued, but the object identified by the
ObjectName and ObjectQMgrName fields in the object descriptor MQOD cannot be
found. One of the following applies:
*       The ObjectQMgrName field is one of the following:
*       Blank
*       The name of the local queue manager
*       The name of a local definition of a remote queue (a queue-manager
alias) in which the RemoteQMgrName attribute is the name of the local queue
manager
                but no object with the specified ObjectName and ObjectType
exists on the local queue manager.
*       The object being opened is a cluster queue that is hosted on a
remote queue manager, but the local queue manager does not have a defined
route to the remote queue manager.
*       The object being opened is a queue definition that has
QSGDISP(GROUP). Such definitions cannot be used with the MQOPEN and MQPUT1
calls.
Corrective action: Specify a valid object name. Ensure that the name is
padded to the right with blanks if necessary. If this is correct, check the
queue definitions.
==================================

The ObjectQMgrName field is being filled in the local queue manager name.  I
know this because I modified MMX.C to not fill in the qmgr name, and print a
console message telling me it was not filled in; that message was displayed,
yet the MQOPEN still failed with 2085.

Does anyone have any ideas?

Thanks,
Dave A.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
David Awerbuch, Consultant
Websphere Applications Specialist
Calyon Securities (CSI)
[EMAIL PROTECTED]
MetroPark, NJ:   (732) 590-7452
1301 6th Ave, NY:  (212) 261-7247



*** Calyon ****************************************************
This message and/or any attachments (the "message") is intended for the sole
use of its addressee.  If you are not the addressee, please immediately
notify the sender and then destroy the message.  The unauthorized
disclosure, use, dissemination or copying (either whole or partial) of this
e-mail, or any information it contains, is prohibited. E-mails are
susceptible to alteration and their integrity cannot be guaranteed.  As this
message and/or any attachments may have been altered without our knowledge,
its content is not legally binding on CALYON Corporate and Investment Bank.
All rights reserved.

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Reply via email to