Abstract
The definitions of the message that is handled.
The service configuration object
Optional
handlePreprocessor: HandlePreprocessor<TMessage, TContext>A preprocessor that is called before the handleMessage
and handleErrorMessage
methods. It can be used for validations and to provide an optional context.
Readonly
aggregateProtected
configProtected
Optional
handleProtected
loggerReadonly
messageProtected
messagingIs called from the transactional inbox and calls the abstract
handleMessage
function with the correct message payload typing. Do not
override this message but implement the handleMessage
message.
The inbox message with the payload to handle.
The database client that is part of a DB env owner transaction to safely handle the inbox message.
Is called from the transactional inbox and calls the handleErrorMessage
function with the correct message payload typing. Do not override this
message but override the handleErrorMessage
message.
The error that was thrown in the handle method.
The inbox message with the payload that was attempted to be handled.
The database client that is part of a (new) transaction to safely handle the error.
True if the message will be retried again.
A flag that defines if the message should be retried ('transient_error') or not ('permanent_error')
Optionally override this method with your custom business logic to handle
an error that was caused by the handleMessage
method. The default
implementation logs the error if there are no further retries.
The error that was thrown in the handleMessage
method.
The inbox message with the payload that was attempted to be handled.
True if the message will be retried again.
Optional
_context: TContextAbstract
handleImplement to execute your custom business logic to handle a message that was stored in the inbox.
The inbox message with the payload to handle.
The database client that is part of a DB env owner transaction to safely handle the inbox message.
Optional
context: TContextIf something fails and the inbox message should NOT be acknowledged - throw an error.
Protected
updateModifies the original error by extending its details subobject, if exists. Default behavior adds tenantId and environmentId to the details object by parsing the routing key. If still not available - returns original error. Some routing keys will not have tenantId and environmentId, e.g. when a command is sent. A separate handling is needed to extact these values, e.g. from the jwt.
Optional
_context: TContextGenerated using TypeDoc
Create a new Message handler that provides both the functionality to store an incoming RabbitMQ message in the inbox and provides the actual logic to execute the business logic that is based on that message.