I'm working on a project which aim is to test Mule and it's capabilities against an IBM Websphere MQ. We're able to get the WMQ connector to put messages on any given queue and pick message on any given queue. However, we're unable to correlate response messages (on a response queue) with request message (put on a request queue).
Let's say we put a message on a request queue which represents a specific data request. This message gets a message id upon leaving Mule. Now, we'd like to pick the corresponding response message which eventually will become available on the response queue. However, we can only get Mule to pick all messages from this queue (in a FIFO manner).
The IBM Websphere MQ API has a class MQQueue
which exposes the method get(). This method accepts an MQMessage
argument. If the messageId property is set on the MQMessage
instance, then the API will make sure to only return the message which has this id. In other words, it will not treat the response queue as a FIFO queue, but will rather query the queue for a message with the given messageId.
How do I get Mule to work this way?