Hi,
I am using this code to configure a pub sub and it goes like this:
Message is send to Alias, Alias has as target a topic. Subscription listen on topic and Subscriptions puts message on queue whether or not based on a selector. In this case not.
#create topic string /sligro/transactions/bpsligro
DEFINE TOPIC(
'ESB.PARTNER_ADMINISTRATION_BP.TOP'
) +
TOPICSTR(
'/sligro/transactions/bpsligro'
) DEFPSIST(YES) +
REPLACE
#create Alias with target topic above.
DEFINE QALIAS(
'ESB.PARTNER_ADMINISTRATION_BP.ALS'
) +
DEFPSIST(YES) +
TARGET(
'ESB.PARTNER_ADMINISTRATION_BP.TOP'
) +
TARGTYPE(TOPIC) +
REPLACE
# Error queue and backout queue for local queue
DEFINE QLOCAL(
'ESB.PARTNER_ADMINISTRATION_BP.ERR'
) LIKE(
'TEMPLATE.SLIGRO_ORDERS.DEF'
) REPLACE
# Create local queue with backout queue.
DEFINE QLOCAL(
'ESB.PARTNER_ADMINISTRATION_BP.DAT'
) LIKE(
'TEMPLATE.SLIGRO_ORDERS.DEF'
) BOQNAME(
'ESB.PARTNER_ADMINISTRATION_BP.ERR'
) BOTHRESH(
1
) REPLACE
# create subscription which is listening to topic and send message to the local queue
DEFINE SUB(
'ESB.PARTNER_ADMINISTRATION_BP.SUB'
) +
TOPICSTR(
'/sligro/transactions/bpsligro'
) +
DEST(
'ESB.PARTNER_ADMINISTRATION_BP.DAT'
) +
DESTQMGR(
'QMAN_BA'
) +
REPLACE
REFRESH SECURITY
If we put a message on the Alias queu, the CorrelationID never change, is this expected behaviour ?
How can we change this so that on every put a unique CorrelationID is generated ?
Or maybe is it possible to switch off the creation of the CorrelationID ?
About the process we use and why we can't use the correlation ID:
We have a listening MQ client, which gets messages from the local queue. This MQClient uses the MQ correlationID as an unique identifier in a process. We can't overide this setting and yes this is a bug in our MQClient but that doesn't solve the problem. But thats why we want to get rid of the correlationID or make it unique.
Thanks
------------------------------
Bernard Pittens
Integration Engeneer
Sligro Foodgroup B.V.
Veghel
------------------------------