Skip to content

Enable Bridge to use MSMQ sender side distribution #337

@dvdstelt

Description

@dvdstelt

Describe the suggested improvement

Is your improvement related to a problem? Please describe.

Theoretically it should be possible to have multiple instances of an MSMQ endpoint and use the MSMQ Transport its ability to use sender side distribution. However...

  • The Routing configuration to enable isn't accessible from BridgeConfiguration to set up an instance mapping file.
  • The Bridge needs to map endpoint instances on different servers, but if you configure the different instances, it will immediately throw validation exceptions. And an incoming message from a not configured endpoint instance throws an exception.

Describe the suggested solution

  • Make it possible to set an instance mapping file
  • Make it possible to forward messages regardless of which instance they're coming from

Describe alternatives you've considered

  • Ignore the issue?! :-)
  • Set up another endpoint simply for 'gathering' messages in a single spot and round-robin from there.

Additional Context

If EndpointA on Server1 has been configured, but a message arrives from EndpointA on Server2, the following exception is thrown by the Bridge (from memory:)

No target endpoint dispatcher could be found for endpoint: "EndpointA". Ensure names have correct casing as mappings are case-sensitive. Nearest configured match: "EndpointA"

If EndpointA is configured for both Server1 and Server2, the following exception on startup is thrown:

A fatal exception occurred during the NServiceBusBridge application lifetime. Commencing application shutdown. System.InvalidOperationException: Endpoints can only be associated with a single transport, please remove endpoint(s): endpointServerA from one transport

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions