Author |
Message
|
reubeuleu |
Posted: Wed Jan 28, 2009 8:35 am Post subject: Correlationid length |
|
|
Newbie
Joined: 28 Jan 2009 Posts: 3
|
Hi,
I'm developping a new webservice which is supposed to write messages on a Z/OS qManager
I'm expected to use a parametered correlationid (no problem at this step) but also to specify this correlationid length when I send the message...
I cannot find the corresponding API
Does anybody have encountered this problem or have an idea ?
Thanks ! |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jan 28, 2009 3:12 pm Post subject: Re: Correlationid length |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
reubeuleu wrote: |
Hi,
I'm developping a new webservice which is supposed to write messages on a Z/OS qManager
I'm expected to use a parametered correlationid (no problem at this step) but also to specify this correlationid length when I send the message...
I cannot find the corresponding API
Does anybody have encountered this problem or have an idea ?
Thanks ! |
Who set these requirements and can you be more specific about the requirements?
Understand that MsgId and CorrelationId follow the anonymous identifier pattern. It is best practice to let the system assign them...
You can only use a correlationId bigger than 24 bytes when using a JMS header(RFHUtil), or properties in V7. For all purposes MQBase still only looks at the first 24 bytes of that correlationId... or not at all in the case of properties...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
reubeuleu |
Posted: Thu Jan 29, 2009 1:44 am Post subject: |
|
|
Newbie
Joined: 28 Jan 2009 Posts: 3
|
Hi !
first, I was thinking of configure the correlationid in the jBoss 'wmq.jmsra-ds.xml' config file but I haven't any solution, so now I'm looking for setting up this parameter in the java source code (using an environnment property).
on our Z/OS systems, there's only 1 qManager who refers to n application'instances (each one corresponding to a different test level environment)
the correlationid is used as a filter to transmit the message to the right final instance
and its length is 2 characters
the length specification will helps de z/Os giving up the following characters |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jan 29, 2009 3:28 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Be aware as well that as the correlationId is a BYTE[24] field there is no translation from platform to platform. So an Ascii char in pos 1 does not magically become an EBCDIC char in pos 1... and you may be on a whole path of hurt....
This type of information (processing rule) should be part of your payload, or part of the message properties (easier in V7). You should not use the MQMD to store this information: bad design.
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
reubeuleu |
Posted: Tue Feb 10, 2009 3:30 am Post subject: |
|
|
Newbie
Joined: 28 Jan 2009 Posts: 3
|
Thanks for your answer.
Finally I've not set the correlation ID length (hte corresponding API doesn't exists).
I've just added spaces to make this length = 24 bytes
I haven't encountered translation problem, I think the qManager takes charge of it ! |
|
Back to top |
|
 |
Vitor |
Posted: Tue Feb 10, 2009 3:42 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
reubeuleu wrote: |
I haven't encountered translation problem, I think the qManager takes charge of it ! |
Oh no it doesn't. The queue manager (as my most worthy associate has already pointed out) considers the field an array of bytes and passes it, unmodified, from queue manager to queue manager, irrespective of platform. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|