Message Forwarding
PM> Install-Package Shuttle.Esb.MessageForwardingThe MessageForwarding module for Shuttle.Esb will forward any handled messages onto the specified queue(s).
Configuration
c#
services.AddMessageForwarding(builder =>
{
builder.Options.ForwardingRoutes.Add(new MessageRouteOptions
{
Uri = "queue://configuration/inbox-work-a",
Specifications = new List<MessageRouteOptions.SpecificationOptions>
{
new()
{
Name = "StartsWith",
Value = "Shuttle.Messages.v1"
},
new()
{
Name = "StartsWith",
Value = "Shuttle.Messages.v2"
}
}
})
});The default JSON settings structure is as follows:
json
{
"Shuttle": {
"Modules": {
"MessageForwarding": {
"ForwardingRoutes": [
{
"Uri": "queue://./inbox-work-a",
"Specifications": [
{
"Name": "StartsWith",
"Value": "Shuttle.Messages.v1"
},
{
"Name": "StartsWith",
"Value": "Shuttle.Messages.v2"
}
]
},
{
"Uri": "queue://./inbox-work-b",
"Specifications": [
{
"Name": "TypeList",
"Value": "DoSomethingCommand"
}
]
}
]
}
}
}
}The ForwardingRoutes makes use of the MessageRouteOptions as defined in the Shuttle.Esb package and the documentation for the MessageRouteOptions is applicable to the ForwardingRoutes as well.