cancel
Showing results for 
Search instead for 
Did you mean: 

JMS message selector

Former Member
0 Kudos

Hi Experts,

I have a problem to use message selector in JMS communication. The scenario is that there is one JMS queue for multiple sender interface, means different sender JMS communication channel will pick messages from one JMS queue. To select which sender JMS communication channel will pick which message that we can control by configuring JMS message selector with a variable defined in Additional JMS Message Properties section. This property need to set by the sender, in JMS message header by setting Property Name and Value. But I don't have much knowledge on this. I need some documents to configure this. Provide me some documents to configure JMS message selector.

Thanks,

Aniruddha

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Dear Anirudhdh

Your Query: Single JMS Queue -> Multiple Sender Jms Channels Polling.

Possible solutions

1. Create only one sender communication channel whcih will pick any message in the queue, later in receiver determination assign correct receiver based on message type/x-path condition.

2. All subscribers(sender communication channels) of the queue pick all messages in the queue (a single message will go to all subscribers) and then hendle it at Receiver detrmination step to rout to correct receiver

Option 2 is feasible only if queue allows more than one subscriber, if that is not the case go for option 3

3. Explore the possibility of using a Topic rather that a queue froms sender side. A topic can have multiple subscribers

Former Member
0 Kudos

Hi Sourabh,

Thanks for your reply. Just to clarifying your understanding, more than one interface will be attached with one single JMS queue. So there will be more than one sender communication channel. Now suppose 5 message have arrived in one JMS queue for five different interfaces. Now I need to create a configuration so that each interface can pick only its message. I have a solution defined in the below link.

http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=156533442

Do we have any other solution ?

Thanks

Aniruddha

Former Member
0 Kudos

Dear Aniruddha

The alternate solution is to create a single sender JMS Communication channel

First Identify what are the properties which separates the different Messages.

This could be the message type or if message type is same then any value in the message will differentiate.

Create a single Receiver Determination and put 5 different conditions for 5 separate receivers as per your requirement.

By the way the wiki provides a perfect solution for your problem.

What challenges you faced while configuring the JMS Message selector using this.

Sourabh

Former Member
0 Kudos

Hi Sourabh,

The message selector solution I am thinkin a problem that as the jms queue maintains FIFO so if one message fails in communication channel and so stacked in queue, it will not allow the messages to process which are in behind to it. So I am thinking for your solution to use single sender communication channel and to do the routing through receiver determination step.

My scenarios are synchronous.

B2B (JMS) -> PI -> ECC (proxy).

As the scenarios are sync in nature, how can I incorporate this? in this case one sender communication channel with multiple receiver communication channel. Now to make the scenario sync I use module in sender communication channel and mention rec comm channel there. How can I mention multiple comm channel there, as I know we can give only one comm channel in snd comm channel module.

Thanks

Aniruddha