It's very likely that I'm doing something wrong, but when I create a simple Bridge Configuration with one XML One-Way Bridge, and two Queue subscribers, only the subscriber with Sequence Number 1 ever gets invoked. Both have "Match All" filters, and I even switched one of the filters to something more specific, just in case it didn't like two Match All filters.
Is there any trick to have multiple subscribers off of a one-way bridge?
Bridges do not support multi-cast of messages. You can read more about how routing works in bridges here: http://msdn.microsoft.com/en-us/library/windowsazure/hh689887.aspx.
In order to have multiple subscribers, Topics are the way to go. So you would configure your bridge to route to a single Topic with a "Match All" filter, and then create multiple subscriptions on the Topic.
Hope this helps!
- 已标记为答案 Richard SeroterMVP 2012年4月18日 14:52
2012年4月18日 14:53I see. I had read the documentation at the link you provided, but I wasn't clear about the multi-cast thing. Thanks for clearing it up!
Hey Richard ,
I read your post at https://seroter.wordpress.com/2012/05/04/windows-azure-service-bus-eai-doesnt-support-multicast-messaging-should-it/ . It is good :)
I however have a doubt : What makes you say that if you put a SB Topic in between then you will need to "push the transformation responsibility down to the application that polls the Topic and communicates with the database or service" .
In the bridge you have transformed the message and then decided to give it to a Topic because you now know that the same message without any further processing needs to go to multiple destinations . Right ? So why does the bridge come into picture again ?
If the scenario was different: You need to transform as per the destination then you first put the message into a Topic and then have one bridge per destination so that you can subscribe to the message, process it as per the destination and send it to the destination .
Probably you have mixed the two above or my understanding of your problem is wrong currently
Do elaborate and let know .
- Harish Kumar Agarwal
I was considering one transform per endpoint/destination. So if the Topic is the destination, then each subscriber pulls their message, transforms it, and inserts it into the destination system. Can a Topic be the input to a bridge?? If so, that would solve the problem.
Hi Richard ,
One transform per endpoint sounds logical i.e. you wish to convert the message as per the endpoint's requirement.
The subscriber can pull the message from the topic , send it to the bridge for transformation and then the bridge can post the transformed message to the final destination .
However the bridge currently does not act as a subscriber to a topic as of today and requires some code to be written outside the bridge to pull the message from the topic and post it to the bridge . This however can be considered for future releases if you feel this would help a lot . Do let know and of your scenario in greater detail .
Harish Kumar Agarwal
- have a look at my recently article Azure Service Bus Pusher for mapping a Pub/Sub (such as PushAndPull) model to the PushAndPush one:
This solution supports pushing (forwarding) a message to the Queue/Topic across the Service Bus Namespaces or to the http/https web service. It can be modified for any specific target endpoint.
Roman Kiss, MVP Connected System Developer