Author |
Message
|
jeduring |
Posted: Tue May 07, 2002 4:56 pm Post subject: |
|
|
Newbie
Joined: 06 May 2002 Posts: 3 Location: Canada
|
Can someone confirm my fears or brighten my day?
I am developing a Proof of Concept using JMS to facilitate using MQ Series classes. Currently, we are chaining how messages are sent to the queue. I.e. the first message, i tell MQ to generate a new correlation id and place this in the message id of the following message. I continue this chaining until I reach my last message and I manually insert "END" in the last message. Another program picks up messages on my queue, performs some tasks and places them on an outbound queue to grab.
I store the correlation id of the first message and use that as the message id of the message to pick up on the outbound queue. I then grab the correlation id of that message and use as the message ID of the next message. I continue until I reach an END in the correlation id of the outbound queue.
Unfortunately, the version of MQ Series on our OS/390 is fairly old so using group id's is not an option.
Will I be able to achieve the same chaining capability using JMS, or am I stuck because I can't define whether the system should give me a new correlation id?
Apologize if this has been addressed before. I did a quick scan and couldn't find anything.
|
|
Back to top |
|
 |
amurugan |
Posted: Wed May 08, 2002 12:35 am Post subject: |
|
|
Voyager
Joined: 10 Sep 2001 Posts: 75 Location: india
|
hi ,
Theres a field called JMSCorrelationID in JMS Message object whihc is mapped to CorrelId of the MQMD of the com.ibm.mq.Message. So i think you can use this field to achieve the correlation effect. Lemme know if u have any problems in this
cheers,
murugan |
|
Back to top |
|
 |
jeduring |
Posted: Wed May 08, 2002 4:51 am Post subject: |
|
|
Newbie
Joined: 06 May 2002 Posts: 3 Location: Canada
|
I realize that there is a JMSCorrelationID and a JMSMessageID that are the equivelant of the MQSeries CorrelationID and MessageID. What I'm wondering is, can I still have the ability in JMS to allow the MQServer to assign a new message id/correlation id when I require it. In some cases, I would like it to be generated, in others I would like to populate it.
Thanks,
JD |
|
Back to top |
|
 |
amurugan |
Posted: Wed May 08, 2002 11:35 pm Post subject: |
|
|
Voyager
Joined: 10 Sep 2001 Posts: 75 Location: india
|
hi jd ,
In mqseries jms , you have to explicitly set the value for the correlation id property using its respective mutator method.By default no value is set for the correlation id in the jms message header .
cheers,
Murugan
|
|
Back to top |
|
 |
jeduring |
Posted: Mon May 13, 2002 5:28 am Post subject: One last shot |
|
|
Newbie
Joined: 06 May 2002 Posts: 3 Location: Canada
|
What I'm wondering is:
Is there a way to explicitely indicate to MQSeries through JMS to use the following scenarios:
Allow QueueManager to generate a new correlation id (similar to Put Messaqe Option MQC.PMO_NEW_CORREL_ID)
Ditto for Message id
Will JMS allow me to explicitely set a message id and allow me to preserve it (without generating a new one everytime)
Thanks.....JD  |
|
Back to top |
|
 |
amurugan |
Posted: Tue May 14, 2002 10:08 pm Post subject: |
|
|
Voyager
Joined: 10 Sep 2001 Posts: 75 Location: india
|
hi JD ,
Initially i too thought like you but it turned out the other way . we have to preserve the correlation ids explictily so as when we receive the acknowledgements we have to match and check whether the messages have received the acknowledgement . just try to do this immediately after u send the message put the message correl id in a vector and when u receive the acknowledgement , check the correl id of the reply with the elements in the vector and if thats so then you have received the reply and delete the correl id . keep the vector has global bag Lemme know whether does this work for u
cheers,
murugan |
|
Back to top |
|
 |
amurugan |
Posted: Tue May 14, 2002 10:08 pm Post subject: |
|
|
Voyager
Joined: 10 Sep 2001 Posts: 75 Location: india
|
hi JD ,
Initially i too thought like you but it turned out the other way . we have to preserve the correlation ids explictily so as when we receive the acknowledgements we have to match and check whether the messages have received the acknowledgement . just try to do this immediately after u send the message put the message correl id in a vector and when u receive the acknowledgement , check the correl id of the reply with the elements in the vector and if thats so then you have received the reply and delete the correl id . keep the vector has global bag Lemme know whether does this work for u
cheers,
murugan |
|
Back to top |
|
 |
|