ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » IBM MQ Java / JMS » CCDT and Dynamic queues

Post new topic  Reply to topic Goto page 1, 2  Next
 CCDT and Dynamic queues « View previous topic :: View next topic » 
Author Message
mqwanderer
PostPosted: Tue May 14, 2013 9:32 am    Post subject: CCDT and Dynamic queues Reply with quote

Novice

Joined: 14 May 2013
Posts: 12

I am new MQ HA/clustering setup. And, I may have them mixed up in my question.

I'm trying to connect a Java application using CCDT with a queue manager group(*GRP) which has clustered queues. The clustering is working fine for regular queues but it fails when I try to create a dynamic queue. The exception I get is :

JMSException thrown com.ibm.msg.client.jms.DetailedJMSException:
JMSWMQ2008: Failed to open MQ queue 'SYSTEM.DEFAULT.MODEL.QUEUE'.
JMS attempted to perform an MQOPEN, but WebSphere MQ reported an error.
Use the linked exception to determine the cause of this error. Check
that the specified queue and queue manager are defined correctly.
Linked Exception com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call
failed with compcode '2' ('MQCC_FAILED') reason '2086'
('MQRC_UNKNOWN_OBJECT_Q_MGR').

Any help is appreciated.
Back to top
View user's profile Send private message
mvic
PostPosted: Tue May 14, 2013 5:45 pm    Post subject: Re: CCDT and Dynamic queues Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

How are you intending to mix dynamic queues and clustering? Dynamic queues are very much a "local queue manager" thing. Clustering is very much a "remote queue manager" thing. I don't thing dynamic queues and clustering mix very well. Again, what is your intention / design?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed May 15, 2013 5:54 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY


You should only access a MODEL queue on the queue manager you are currently connected to.
Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mqwanderer
PostPosted: Wed May 15, 2013 7:05 am    Post subject: Reply with quote

Novice

Joined: 14 May 2013
Posts: 12

Here is some more background to our configuration :

We are using a clustered QM setup which consist of Model Queues and clustered Queues. So, are you saying that we can't have temporary model queues on queue managers that are clustered ? Our initial design was to host both temporary and dynamic queues on the same QMs which are clustered.

Should we be re-designing this setup to use separate QMs for dynamic Qs ?
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed May 15, 2013 7:11 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mqwanderer wrote:
Should we be re-designing this setup to use separate QMs for dynamic Qs ?


No, but you should not be trying (however inadvertently) to create dynamic clustered queues, or a dynamic queue on a queue manager other than the one you're connected to. I suspect you've encountered the latter case.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqwanderer
PostPosted: Wed May 15, 2013 7:47 am    Post subject: Reply with quote

Novice

Joined: 14 May 2013
Posts: 12

I don't think we are. The dynamic model queue we created is not clustered. We just have two models sitting on two QMs which are clustered. I am assuming that when the connection factory sets up a connection via CCDT it gets a connection to one of the two QMs so when the call to create dynamic Q is made it should create the dynamic Q on that particular QM.
Back to top
View user's profile Send private message
mvic
PostPosted: Wed May 15, 2013 8:14 am    Post subject: Reply with quote

Jedi

Joined: 09 Mar 2004
Posts: 2080

mqwanderer wrote:
We just have two models sitting on two QMs which are clustered.

Why are they "clustered"? What is the purpose, the reason, the design, that makes this useful?
Back to top
View user's profile Send private message
mqwanderer
PostPosted: Wed May 15, 2013 8:17 am    Post subject: Reply with quote

Novice

Joined: 14 May 2013
Posts: 12

We want to use only one set of QMs for both dynamic and regular Qs.

Does this mean that dynamic Qs and regular Qs can't co-exist if the QMs are clustered ?
Back to top
View user's profile Send private message
mqwanderer
PostPosted: Wed May 15, 2013 10:50 am    Post subject: Reply with quote

Novice

Joined: 14 May 2013
Posts: 12

Adding the code:

Code:

String ccdtPath = "http://ccdtsrver/ccdts/qmgrp.tab";
String qmgrName = "*QMGRP";                           
                               
MQQueueConnectionFactory factory = new MQQueueConnectionFactory();
factory.setCCDTURL(new URL(ccdtPath));
factory.setQueueManager(qmgrName);

factory.setTemporaryModel("JMS.TEMPQ.MODEL");
conn = factory.createQueueConnection();
conn.start();

session = conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
TemporaryQueue tempQ = session.createTemporaryQueue();

Error:
Code:

JMSException thrown com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2008: Failed to open MQ queue 'JMS.TEMPQ.MODEL'.
JMS attempted to perform an MQOPEN, but WebSphere MQ reported an error.
Use the linked exception to determine the cause of this error. Check that the specified queue and queue manager are defined correctly.
Linked Exception com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2086' ('MQRC_UNKNOWN_OBJECT_Q_MGR').
Back to top
View user's profile Send private message
JosephGramig
PostPosted: Wed May 15, 2013 12:30 pm    Post subject: Reply with quote

Grand Master

Joined: 09 Feb 2006
Posts: 1244
Location: Gold Coast of Florida, USA

There are no cluster attributes on a model queue. http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/topic/com.ibm.mq.doc/sc11220_.htm

So, clustering is not the issue.
Back to top
View user's profile Send private message AIM Address
mqwanderer
PostPosted: Wed May 15, 2013 12:51 pm    Post subject: Reply with quote

Novice

Joined: 14 May 2013
Posts: 12

It looks like the tempQ creation call does not like the "*GRP" as the Q manager name in the factory. Maybe it needs a queue manager name and not a CCDT queue manager group.

The problem we are facing is that we want to create one session which deals with both regular and dynamic queues. So, we have to invoke the factory with Q manager name as "*GRP".
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu May 16, 2013 5:59 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Open a PMR on this...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mqwanderer
PostPosted: Fri May 17, 2013 6:28 am    Post subject: Reply with quote

Novice

Joined: 14 May 2013
Posts: 12

Solution :

From the trace, the MQOPEN fails because the supplied ObjectQMgrName 
field of the MQOD is not a valid qmgr name, or all blanks. The supplied
name is: "*QMGRP" which is invalid because it contains the asterisk.

The client app needs to be changed so that the ObjectQMgrName is all blanks. 

After replacing the QM name with all blanks the code worked!
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri May 17, 2013 8:38 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

mqwanderer wrote:
Solution :

From the trace, the MQOPEN fails because the supplied ObjectQMgrName 
field of the MQOD is not a valid qmgr name, or all blanks. The supplied
name is: "*QMGRP" which is invalid because it contains the asterisk.

The client app needs to be changed so that the ObjectQMgrName is all blanks. 

After replacing the QM name with all blanks the code worked!


You still need to open a PMR on this! Because it is supposed to work with *QMGR....

Thanks
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
PeterPotkay
PostPosted: Sat May 18, 2013 3:38 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

An '*' is not a valid character for the ObjectQMgrName field of the MQOD.

http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/topic/com.ibm.mq.csqzak.doc/fr13720_.htm


An * is OK for the MQCONNX call, but not an MQOPEN / MQPUT1 call. I think its working as designed.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » IBM MQ Java / JMS » CCDT and Dynamic queues
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.