M
- An implementation of Message
contained in the dead letter
that's been made a
decision on.public interface EnqueueDecision<M extends Message<?>>
dead letter
containing a message of type
M
.
Describes that the letter should be enqueued
or not. If the letter should be enqueued the
enqueueCause()
may contain a Throwable
. Furthermore, withDiagnostics(DeadLetter)
may add
diagnostic
information to the dead letter that should be taken into account when
enqueueing the letter.
If shouldEnqueue()
returns false
, that means the dead letter will not be inserted in the queue to
begin with, or it will be evicted
from the dead-letter queue.
Decisions
Modifier and Type | Method and Description |
---|---|
Optional<Throwable> |
enqueueCause()
|
boolean |
shouldEnqueue()
The decision whether the
dead letter should be enqueued in a queue. |
default DeadLetter<? extends M> |
withDiagnostics(DeadLetter<? extends M> letter)
|
boolean shouldEnqueue()
dead letter
should be enqueued in a queue. When false
the
dead letter should be evicted.true
if the dead letter
should be enqueued, false
if the dead letter
should be evicted.Optional<Throwable> enqueueCause()
Throwable
Optional
that was part of deciding to enqueue the dead letter
in a
queue. Empty if the dead letter
should be evicted or when there is no failure cause used for deciding to
enqueue.dead letter
, when present.default DeadLetter<? extends M> withDiagnostics(DeadLetter<? extends M> letter)
DeadLetter.diagnostics()
MetaData
to the given letter
.
The added diagnostics may provide additional information on the decision that may be used to influence future
decisions.
By default, the letter
is returned as is.
letter
- The dead letter
to add diagnostic
MetaData
to.letter
when diagnostic
MetaData
was added.Copyright © 2010–2023. All rights reserved.