java.lang.Object
dk.cloudcreate.essentials.components.foundation.messaging.queue.operations.MarkAsDeadLetterMessage

public class MarkAsDeadLetterMessage extends Object
Mark an already Queued Message as a Dead Letter Message (or Poison Message).
Dead Letter Messages won't be delivered to any DurableQueueConsumer (called by the DurableQueueConsumer)
To deliver a Dead Letter Message you must first resurrect the message using DurableQueues.resurrectDeadLetterMessage(QueueEntryId, Duration)
Note this method MUST be called within an existing UnitOfWork IF using TransactionalMode.FullyTransactional
Operation also matches DurableQueuesInterceptor.intercept(MarkAsDeadLetterMessage, InterceptorChain)
  • Field Details

  • Constructor Details

  • Method Details

    • builder

      public static MarkAsDeadLetterMessageBuilder builder()
      Create a new builder that produces a new MarkAsDeadLetterMessage instance
      Returns:
      a new MarkAsDeadLetterMessageBuilder instance
    • getQueueEntryId

      public QueueEntryId getQueueEntryId()
      Returns:
      the unique id of the message that must be marked as a Dead Letter Message
    • getCauseForBeingMarkedAsDeadLetter

      public Exception getCauseForBeingMarkedAsDeadLetter()
      Returns:
      the reason for the message being marked as a Dead Letter Message
    • setCauseForBeingMarkedAsDeadLetter

      public void setCauseForBeingMarkedAsDeadLetter(Exception causeForBeingMarkedAsDeadLetter)
      Parameters:
      causeForBeingMarkedAsDeadLetter - the reason for the message being marked as a Dead Letter Message
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • validate

      public void validate()