https://github.com/shuttle/shuttle.esb.messageforwarding
The MessageForwarding extension will forward any handled messages onto the specified queue(s).
https://github.com/shuttle/shuttle.esb.messageforwarding
Last synced: about 1 month ago
JSON representation
The MessageForwarding extension will forward any handled messages onto the specified queue(s).
- Host: GitHub
- URL: https://github.com/shuttle/shuttle.esb.messageforwarding
- Owner: Shuttle
- License: bsd-3-clause
- Created: 2024-02-05T15:06:41.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-02T14:08:19.000Z (3 months ago)
- Last Synced: 2025-03-23T22:14:20.936Z (about 2 months ago)
- Language: C#
- Size: 36.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Message Forwarding
```
PM> Install-Package Shuttle.Esb.MessageForwarding
```The 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
{
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.