-
-
Notifications
You must be signed in to change notification settings - Fork 361
Polymorphic message dispatch
Polymorphic message dispatch consists of doing multiple handler lookups for each incoming message - i.e. for each incoming message, a handler pipeline will be made, consisting of all handlers that handle the specified message including handlers that handle any superclass of the message and handlers that handle an interface implemented by the message.
For example this event:
public class SomeCompositeEvent : ISomethingHappened, ISomethingElseHappened { ... }
that clearly consists of the composition of two discrete events, ISomethingHappened
and ISomethingElseHappened
. Dispatching SomeCompositeEvent
will thus result in dispatching to handlers that implement the following interfaces:
IHandleMessages<SomeCompositeEvent>
IHandleMessages<ISomeHappened>
IHandleMessages<ISomethingElseHappened>
IHandleMessages<object>
Yea, that's right: If a handler implements IHandleMessages<object>
, it will get all messages :)
Basic stuff
- Home
- Introduction
- Getting started
- Different bus modes
- How does rebus compare to other .net service buses?
- 3rd party extensions
- Rebus versions
Configuration
Scenarios
Areas
- Logging
- Routing
- Serialization
- Pub sub messaging
- Process managers
- Message context
- Data bus
- Correlation ids
- Container adapters
- Automatic retries and error handling
- Message dispatch
- Thread safety and instance policies
- Timeouts
- Timeout manager
- Transactions
- Delivery guarantees
- Idempotence
- Unit of work
- Workers and parallelism
- Wire level format of messages
- Handler pipeline
- Polymorphic message dispatch
- Persistence ignorance
- Saga parallelism
- Transport message forwarding
- Testing
- Outbox
- Startup/shutdown
Transports (not a full list)
Customization
- Extensibility
- Auto flowing user context extensibility example
- Back off strategy
- Message compression and encryption
- Fail fast on certain exception types
Pipelines
- Log message pipelines
- Incoming messages pipeline
- Incoming step context
- Outgoing messages pipeline
- Outgoing step context
Prominent application services