Routing system extensibility points for MSMQ

Component: MSMQ Transport
NuGet Package: NServiceBus.Transport.Msmq (2-pre)
This page targets a pre-release version. Pre-releases are subject to change and samples are not guaranteed to be fully functional.

Instance mapping extensibility

To customize how logical endpoints are mapped to a physical instance when routing messages, use the following code in a feature:

protected override void Setup(FeatureConfigurationContext context)
    var endpointInstances = context.Settings.Get<EndpointInstances>();
        new List<EndpointInstance>
            new EndpointInstance("MyEndpoint").AtMachine("VM-1"),
            new EndpointInstance("MyEndpoint").AtMachine("VM-2")

sourceKey uniquely identifies the mapping source so that it can be modified and must be unique.

The entire source will be replaced by the code above so all known instance mappings must be added.

The instances collection is thread-safe. It allows registering multiple instance of a given endpoint. In case there is more than one mapping for a given logical endpoint, messages will be distributed based on the active distribution strategy.

Related Articles

Last modified