Class AbstractDeadLetterStrategy

java.lang.Object
org.apache.activemq.broker.region.policy.AbstractDeadLetterStrategy
All Implemented Interfaces:
DeadLetterStrategy
Direct Known Subclasses:
IndividualDeadLetterStrategy, SharedDeadLetterStrategy

public abstract class AbstractDeadLetterStrategy extends Object implements DeadLetterStrategy
A strategy for choosing which destination is used for dead letter queue messages.
  • Constructor Details

    • AbstractDeadLetterStrategy

      public AbstractDeadLetterStrategy()
  • Method Details

    • rollback

      public void rollback(org.apache.activemq.command.Message message)
      Description copied from interface: DeadLetterStrategy
      Allows for a Message that was already processed by a DLQ to be rolled back in case of a move or a retry of that message, otherwise the Message would be considered a duplicate if this strategy is doing Message Auditing.
      Specified by:
      rollback in interface DeadLetterStrategy
    • isSendToDeadLetterQueue

      public boolean isSendToDeadLetterQueue(org.apache.activemq.command.Message message)
      Description copied from interface: DeadLetterStrategy
      Allow pluggable strategy for deciding if message should be sent to a dead letter queue for example, you might not want to ignore expired or non-persistent messages
      Specified by:
      isSendToDeadLetterQueue in interface DeadLetterStrategy
      Returns:
      true if message should be sent to a dead letter queue
    • isProcessExpired

      public boolean isProcessExpired()
      Specified by:
      isProcessExpired in interface DeadLetterStrategy
      Returns:
      the processExpired
    • setProcessExpired

      public void setProcessExpired(boolean processExpired)
      Specified by:
      setProcessExpired in interface DeadLetterStrategy
      Parameters:
      processExpired - the processExpired to set
    • isProcessNonPersistent

      public boolean isProcessNonPersistent()
      Specified by:
      isProcessNonPersistent in interface DeadLetterStrategy
      Returns:
      the processNonPersistent
    • setProcessNonPersistent

      public void setProcessNonPersistent(boolean processNonPersistent)
      Specified by:
      setProcessNonPersistent in interface DeadLetterStrategy
      Parameters:
      processNonPersistent - the processNonPersistent to set
    • isEnableAudit

      public boolean isEnableAudit()
    • setEnableAudit

      public void setEnableAudit(boolean enableAudit)
    • getExpiration

      public long getExpiration()
      Specified by:
      getExpiration in interface DeadLetterStrategy
    • setExpiration

      public void setExpiration(long expiration)
      Description copied from interface: DeadLetterStrategy
      The expiration value to use on messages sent to the DLQ, default 0
      Specified by:
      setExpiration in interface DeadLetterStrategy
    • getMaxProducersToAudit

      public abstract int getMaxProducersToAudit()
    • setMaxProducersToAudit

      public abstract void setMaxProducersToAudit(int maxProducersToAudit)
    • setMaxAuditDepth

      public abstract void setMaxAuditDepth(int maxAuditDepth)
    • getMaxAuditDepth

      public abstract int getMaxAuditDepth()
    • lookupActiveMQMessageAudit

      protected abstract org.apache.activemq.ActiveMQMessageAudit lookupActiveMQMessageAudit(org.apache.activemq.command.Message message, boolean rollback)