Interface DeadLetterStrategy
-
- All Known Implementing Classes:
AbstractDeadLetterStrategy,DiscardingDeadLetterStrategy,IndividualDeadLetterStrategy,SharedDeadLetterStrategy
public interface DeadLetterStrategyA strategy for choosing which destination is used for dead letter queue messages.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ActiveMQDestinationgetDeadLetterQueueFor(Message message, Subscription subscription)Returns the dead letter queue for the given message and subscription.longgetExpiration()booleanisProcessExpired()booleanisProcessNonPersistent()booleanisSendToDeadLetterQueue(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(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 Detail
-
isSendToDeadLetterQueue
boolean isSendToDeadLetterQueue(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
ActiveMQDestination getDeadLetterQueueFor(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(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()
-
-