I have some code which is doing this:
String transactionId = incoming.getJMSCorrelationID();
when I used ActiveMQ for testing I was able to send messages through and pick up this value without problem. However, when I am connected to Websphere the value comes through prefixed with ‘ID:’ I have no idea why this should be the case – the middleware people tell me that my code must be adding it – which it’s not.
It’s a simple case for me to remove it, but I want to know why this prefix appears – any ideas anyone?
I believe the middleware people are wrong:
From: Mapping JMS header fields at send() or publish().
Also I remember noticing that prefix while working with JMS-WebsphereMQ bridge. But actually – why do you care?
This is aStringid, the specification doesn’t say anything about its structure, except that it has to be unique.UPDATE: Actually, as mentioned by @skaffman, the
ID:prefix is required by JMS specification:This means that WebsphereMQ bridge is adding
ID:prefix only to be compliant with JMS spec. And, as also noted by @skaffman, ActiveMQ is not compliant with it…