Hi All,
Where can I find more detailed information on how the semantics work when using the Publisher step in a process? The options are Multicast, Direct, Request, Reply, Routed. Multicast and Request make sense enough, even though I would like to know how to handle when there's a mis-match with a subscriber connector. For example, if I Multicast publish to a topic that has a Reply-Request subscription connector service I get an error (rightfully so) - my concern is managing the publisher/subscriber design, it seems a subscriber added to a topic in the future can really cause issues in a Reply-Request scenario if there is already another Reply-Request service connector subscribing to it.
Is there a best practice that would help mitigate this? Also more details and understanding of the other publishing semantics (Direct, Routed, etc..) may help with the design?
thanks!
Marc
Tags:
true. if you are doing a request/reply, you want to make sure there is only ONE possible subscriber to that request. usually this can be done with sub topics. in fact that's how we do a lot of dynamic routing scenarios for multi cast as well.
The reply semantic you'll probably never use. we use that internally to assist in routing a reply message back to the original caller.
direct can be useful. if you set Direct to true, you also have to set the DestId property on the ESB message header to the name of the subscriber you want to send the message to. When you use Direct, no one else will get the message other than the Subscriber name you set as the DestID.
Routed is a special case when you are doing Itinerary routing. we ship a sample that demonstrates this.
thanks Marty. that makes sense.
It seems at though with the Direct and setting a specific dest id, I get a semantic mismatch if the dest has a service connector with a request-reply semantic. But in that scenario since I have a specific destination, I'd think calling the service connector directlywith the Service Endpoint process step would be the way to go.
thanks.
you'll get a semantic mismatch if the message semantic you are sending to a configured "request/response" service connector. its really designed for party to party communication. You are correct though....you can call the service endpoint directly using the service endpoint process step. you can also dynamically set the service connector to be called using that step by setting the name of the service connector in the context.data.header.Service property
Neuron ESB Product Support Forums and Communities
© 2024 Created by Neuron Admin. Powered by