title | summary | component | reviewed |
---|---|---|---|
Editing failed messages |
Describes the concept of editing and retrying messages in ServicePulse |
ServicePulse |
2019-07-04 |
If a message cannot be successfully retried it is possible to modify that message prior to retrying it. Both the headers and the body of a message can be edited.
The message edit and retry feature is not enabled by default. To enable it, contact [Particular Support(https://particular.net/support) for assistance.
Headers on all failed messages can be edited using this feature. There are three categories of headers, each with different editing restrictions.
Headers that are critical to the operation of NServiceBus cannot be edited. These headers will have a lock image next to otheir name.
Headers that, when their values change, may result in unexpected or unwanted behavior are categorized as "Sensitive". When editing these headers the user will be warned of their sensitive nature.
Any headers that have been been categorized as Locked or Sensitive will be fully editable. This will include headers created as part of a system customization.
It is also possible to delete (and retrieve) these headers during the editing process. Once a message has been edited and retried, any deleted headers will be lost forever.
Message bodies can be edited before they are retried. This is only possible for message bodies that are serialized using JSON or XML.
When retrying an edited message it is possible that the original failed message will have been resolved by anothehr user, retried successfully by another user, or expired as part of the automated processes. In that scenario, the retry of the edited message will fail.
As soon as a message has been dispatched for retrying the originally failing message will be marked as resolved. If the retry message subsequently fails it will appear as a new failed message in the user interface. That new failed message will be marked as having been edited and also have a link to the original message.
A failed message must not have been resolved by a user, successfully retried, or expired as part of the automated processes for edit and retry to function.
The bodies of messages with encrypted properties cannot be edited.