This is often a symptom of a feedback loop, i.e. where you have a situation like:
- Implementing a receive port which listens to the location that a send port publishes messages.
- Implementing a direct-bound orchestration with a send port configured to publish messages to the message box of the same schema that it receives (without any filtering)
This is especially common in direct bound (MessageBox
) scenarios, as this doesn't have the additional filters which are applied with Specify Now / Later
settings. The solution is usually to add an additional filter - either out of the box, such as BTS.ReceivePortName
, or a custom context property) on subscribers, so that you can distinguish between messages which have already been processed.