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 » MQJMS2008

Post new topic  Reply to topic Goto page Previous  1, 2
 MQJMS2008 « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Mon Jun 28, 2004 12:17 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7723

Yeah, but if the JMS app picks up a message from QueueA on QM1, and sees that the reply to info says the message needs to go back to QueueB on QM4, it needs to populate both QeueuB and QM4 when it puts the reply. It cant just do the put of the reply to QueueB. What if QueueB is hosted by 100 different QMs in the same cluster?

That JMS app needs to be able to specifically address any message it produces, whether it is destined for a queue locally, a queue on another specific QM, a clustered queue on any QM in the cluster, or a clustered queue on another specific QM in the cluster.

But Eddie's quote implies that that is not possible?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Jun 28, 2004 12:23 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Peter -
The JMS app needs, if I understand what others are saying correctly, to specify the Reply2Queue and Reply2Queue Manager fields of the JMSMessage object, and leave the Queue Manager field of the JMSDestination / Queue object blank.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Jun 28, 2004 12:31 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7723

Quote:

to specify the Reply2Queue and Reply2Queue Manager fields of the JMSMessage object,


which would map to the MQMD_Reply2Q and MQMD_Reply2QM. No arguements there.

What I and I assume Eddie were talking about was how to have a JMS app specify the info that would map to the MQOD_ObjectName and MQOD_ObjectQMngrname. Both of those values are needed to send a message (whether its a request or a reply) to a specific queue on a specific QM. It shouldn't matter, IMHO, whether that queue/QM is clustered or not. The quote in questions makes it seem that you cant send a message to a specific queue on a specific QM if that queue is clustered.

Quote:

If it's clustered queue, then you cannot specify the QM. From the manual:
Quote:
When sending a message to a cluster, leave the Queue Manager field in the JMS Queue object blank. This enables an MQOPEN to be performed in BIND_NOT_FIXED mode, which allows the queue manager to be determined. Otherwise an exception is returned reporting that the queue object cannot be found. This applies when using JNDI or defining queues at runtime


I contend that the doc is wrong, just like Venella and I assumed here in another part of the doc:
http://www.mqseries.net/phpBB2/viewtopic.php?t=12350&highlight=

If QMANAGER was really the QM that you connect to, then Eddies quote would also make sense. But since QMANAGER is really the MQOD_QMName, then the second quote must be false as is.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
vennela
PostPosted: Mon Jun 28, 2004 1:01 pm    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

Then I think I misunderstood Peter:


For the record:
I could use QMANAGER name and send a message to a cluster queue.

Code:

InitCtx> dis qcf(ivtQCF)

    FAILIFQUIESCE(YES)
    HOSTNAME(localhost)
    PORT(5010)
    QMANAGER(FMCQM)
    USECONNPOOLING(YES)
    CCSID(819)
    TEMPMODEL(SYSTEM.DEFAULT.MODEL.QUEUE)
    MSGBATCHSZ(10)
    TRANSPORT(CLIENT)
    SYNCPOINTALLGETS(NO)
    MSGRETENTION(YES)
    RESCANINT(5000)
    POLLINGINT(5000)
    VERSION(2)
    CHANNEL(SYSTEM.DEF.SVRCONN)

InitCtx> dis q(ivtQ)

    FAILIFQUIESCE(YES)
    QUEUE(TEST)
    QMANAGER(FMCQM1)
    PERSISTENCE(APP)
    CCSID(1208)
    TARGCLIENT(MQ)
    ENCODING(NATIVE)
    PRIORITY(APP)
    EXPIRY(APP)
    VERSION(1)



Code:

Retrieving a QueueConnectionFactory from JNDI
Creating a Connection
Starting the Connection
Creating a Session
Retrieving a Queue from JNDI
Creating a QueueSender
Creating a TextMessage
Adding Text
Sending the message to queue://FMCQM1/TEST?targetClient=1
Closing Session
Closing Connection
finished


I think now it is Eddie's turn.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
fjb_saper
PostPosted: Mon Jun 28, 2004 1:43 pm    Post subject: Reply with quote

Grand High Poobah

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

We had no problem in JMS with the reply to queue.
However when defining the reply to queue to JMS we took great care to add the queue manager into the qmgr field in the JMS definition.(We usually leave it blank for the queue manager defined in the qcf).

Now we acquire the queue from the environment, (it is after all a JMSDestination) an pass it to the JMSReplyTo.

I don't know if that will work for the cluster, but it worked fine when we pointed at a remote queue on the remote queue manager.
The local queue definition is on our side.

I believe you would have to either pass the remote definition of a queue on the server site that resolves to a local queue definition on the requestor site, or a local queue definition on the requestor site.

Hope this helps a little.
Back to top
View user's profile Send private message Send e-mail
OmPat
PostPosted: Fri Jul 23, 2004 11:21 am    Post subject: Reply with quote

Apprentice

Joined: 20 Jul 2004
Posts: 33
Location: Charlotte

Peter,
What i see is, If you are using WAS 5.x and Websphere MQ JMS Provider and If you define the Queues which you are gonna access in the internal JMS server properties you would not get any 2008 Exception/ linked exception 2085. It does not matter even if the queue is a on a cluster. If the queue is on a cluster then u need to use a repository cluster qmanager name in the base qmanager section of WAS admin console and u give cluster qname on the base q section in admin console. It works like a charm.
Mainly in order to avoid these 2008 exceptions u need to make ur WAS interner JMS server aware of those queues u are gonna use after u get ur session.
Hope this helps
_________________
IBM Certified WMQ V5.3 System Administrator
IBM Certified WMQ V5.3 Solutions Designer
Brainbench Certified MQ Expert
IBM Certified WMQI V2.1 Solutions Expert
IBM Certified WMQI V2.1 Specialist
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » IBM MQ Java / JMS » MQJMS2008
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.