I have a messaging flow containing multiple topics and queues (in different domains). I'm publishing a message on a queue, which in turn flows to a system that fetches data (according to the message that was published) from the database and generates a new message; put it in a another topic. My aim is to retrieve that particular message which contains the required information. A queue is subscribing to that topic as well, which give me two options to get that particular message
Approach 1 - Using Topics
With this approach I can get the message but there seems to be no way to filter the incoming messages and as the same system is being used by multiple people it increase the chances of getting a wrong message.
I tried using async Listener that filters all the messages using the correlation scheme (JMS Payload) ->Payload Scheme (Xpath), but for some reasons it was not able to get any message and it would simply throw time out error.
Even if it starts working, this approach might be more time consuming as all the payloads have to opened and searched by DevTest. Still I'll be interested to the correct method to work with this approach. Also, let me know if there is any other way to filter messages using the JMS Headers, as all the messages have some custom headers attached with them.
Note :- I'm unable to use the JMS Correlation ID or any other custom property as the message with which it is sent doesn't transfer it to the newly generated message.
Approach 2 - Using Queues
This approach works perfectly fine when I use the JMS Messaging step since I'm able to use the selector query to filter out my messages. However, If I use the JMS Send Receive step, it doesn't allow me to do the same. Please let me know, how can I get the filtered messages from the queue itself using JMS Send Receive step?
Thanks in advance