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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ActiveMQDestination
getDeadLetterQueueFor(Message message, Subscription subscription)
Returns the dead letter queue for the given message and subscription.long
getExpiration()
boolean
isProcessExpired()
boolean
isProcessNonPersistent()
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 messagesvoid
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.void
setExpiration(long expiration)
The expiration value to use on messages sent to the DLQ, default 0void
setProcessExpired(boolean processExpired)
void
setProcessNonPersistent(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()
-
-