Class DecodeErrorStrategy.DeadLetter

  • All Implemented Interfaces:
    eu.vstoyanov.natsy.codec.DecodeErrorStrategy

    
    public final class DecodeErrorStrategy.DeadLetter
     implements DecodeErrorStrategy
                        

    Republish the raw undecodable message to subject, then drop it from this subscription.

    The dead-lettered message carries the original payload and headers plus the provenance headers in DeadLetterHeaders.

    subject must be captured by a stream. On JetStream the dead letter is published as a JetStream message, and the original is terminated only once the server has acknowledged storing it - so a dead letter that never lands cannot take the original down with it. The flip side is that a dead-letter subject with no stream behind it holds every undecodable message unacknowledged for redelivery, which subscribe and pull reject up front rather than let you discover one message at a time.

    On core NATS there is no stream and no acknowledgement to wait for: the dead letter is a core publish, and reaches only whatever is listening on subject at that moment.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private final String subject
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final String getSubject()
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DecodeErrorStrategy.DeadLetter

        DecodeErrorStrategy.DeadLetter(String subject)