MSMQ transport - rebus-org/Rebus GitHub Wiki

Wire-level format of messages

Since MSMQ has no readily available mechanism for transferring raw key/value pairs, the Extension property (described here is used to transfer the bytes of a UTF7-encoded JSON serialized dictionary containing the Rebus headers.

Rebus headers with special meaning in MSMQ context

  • rebus-express: Will be used to disable MSMQ dead-lettering (i.e. that the message ends up in the dead-letter queue when it expired or is deleted) and disable "recovery" (i.e. the message is not written to disk and therefore is not durable)
  • rebus-time-to-be-received: The value will be interpreted as a time span ("HH:mm:ss") which is the "time-to-live" of the message. The message will be automatically removed from the queue when the TTL expires.