Interface DeadLetterStrategy
- All Known Implementing Classes:
AbstractDeadLetterStrategy,DiscardingDeadLetterStrategy,IndividualDeadLetterStrategy,SharedDeadLetterStrategy
public interface DeadLetterStrategy
A strategy for choosing which destination is used for dead letter queue messages.
-
Method Summary
Modifier and TypeMethodDescriptionorg.apache.activemq.command.ActiveMQDestinationgetDeadLetterQueueFor(org.apache.activemq.command.Message message, Subscription subscription) Returns the dead letter queue for the given message and subscription.longbooleanbooleanbooleanisSendToDeadLetterQueue(org.apache.activemq.command.Message message) 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 messagesvoidrollback(org.apache.activemq.command.Message message) 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.voidsetExpiration(long expiration) The expiration value to use on messages sent to the DLQ, default 0voidsetProcessExpired(boolean processExpired) voidsetProcessNonPersistent(boolean processNonPersistent)
-
Method Details
-
isSendToDeadLetterQueue
boolean isSendToDeadLetterQueue(org.apache.activemq.command.Message message) 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- Parameters:
message-- Returns:
- true if message should be sent to a dead letter queue
-
getDeadLetterQueueFor
org.apache.activemq.command.ActiveMQDestination getDeadLetterQueueFor(org.apache.activemq.command.Message message, Subscription subscription) Returns the dead letter queue for the given message and subscription. -
isProcessExpired
boolean isProcessExpired()- Returns:
- true if processes expired messages
-
setProcessExpired
void setProcessExpired(boolean processExpired) - Parameters:
processExpired- the processExpired to set
-
isProcessNonPersistent
boolean isProcessNonPersistent()- Returns:
- the processNonPersistent
-
setProcessNonPersistent
void setProcessNonPersistent(boolean processNonPersistent) - Parameters:
processNonPersistent- the processNonPersistent to set
-
rollback
void rollback(org.apache.activemq.command.Message message) 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.- Parameters:
message-
-
setExpiration
void setExpiration(long expiration) The expiration value to use on messages sent to the DLQ, default 0 -
getExpiration
long getExpiration()
-