T - The type of Message maintained in this JpaSequencedDeadLetterQueue.public static class JpaSequencedDeadLetterQueue.Builder<T extends EventMessage<?>> extends Object
JpaSequencedDeadLetterQueue.
The maximum number of unique sequences defaults to 1024, the maximum amount of dead letters inside a
unique sequence to 1024, the claim duration defaults to 30 seconds, the query page size defaults
to 100, and the converters default to containing a single EventMessageDeadLetterJpaConverter.
If you have custom EventMessage to use with this queue, replace the current (or add a second) converter.
The processingGroup, EntityManagerProvider, TransactionManager and Serializer
have to be configured for the JpaSequencedDeadLetterQueue to be constructed.
| Constructor and Description |
|---|
Builder() |
| Modifier and Type | Method and Description |
|---|---|
JpaSequencedDeadLetterQueue.Builder<T> |
addConverter(DeadLetterJpaConverter<EventMessage<?>> converter)
Adds a
DeadLetterJpaConverter to the configuration, which is used to deserialize dead-letter entries
from the database. |
JpaSequencedDeadLetterQueue<T> |
build()
Initializes a
JpaSequencedDeadLetterQueue as specified through this Builder. |
JpaSequencedDeadLetterQueue.Builder<T> |
claimDuration(Duration claimDuration)
Sets the claim duration, which is the time a message gets locked when processing and waiting for it to
complete.
|
JpaSequencedDeadLetterQueue.Builder<T> |
clearConverters()
Removes all current converters currently configured, including the default
EventMessageDeadLetterJpaConverter. |
JpaSequencedDeadLetterQueue.Builder<T> |
entityManagerProvider(EntityManagerProvider entityManagerProvider)
Sets the
EntityManagerProvider which provides the EntityManager used to access the underlying
database for this JpaSequencedDeadLetterQueue implementation. |
JpaSequencedDeadLetterQueue.Builder<T> |
eventSerializer(Serializer serializer)
Sets the
Serializer to (de)serialize the event payload,
event metadata, and diagnostics of the DeadLetter when storing it to the database. |
JpaSequencedDeadLetterQueue.Builder<T> |
genericSerializer(Serializer serializer)
Sets the
Serializer to (de)serialize the tracking token of the event in
the DeadLetter when storing it to the database. |
JpaSequencedDeadLetterQueue.Builder<T> |
maxSequences(int maxSequences)
Sets the maximum number of unique sequences this
SequencedDeadLetterQueue may contain. |
JpaSequencedDeadLetterQueue.Builder<T> |
maxSequenceSize(int maxSequenceSize)
Sets the maximum amount of
letters per unique sequences this
SequencedDeadLetterQueue can store. |
JpaSequencedDeadLetterQueue.Builder<T> |
processingGroup(String processingGroup)
Sets the processing group, which is used for storing and quering which event processor the deadlettered item
belonged to.
|
JpaSequencedDeadLetterQueue.Builder<T> |
queryPageSize(int queryPageSize)
Modifies the page size used when retrieving a sequence of dead letters.
|
JpaSequencedDeadLetterQueue.Builder<T> |
serializer(Serializer serializer)
Sets the
Serializer to (de)serialize the event payload,
event metadata, tracking token, and diagnostics of the DeadLetter when storing it to the database. |
JpaSequencedDeadLetterQueue.Builder<T> |
transactionManager(TransactionManager transactionManager)
Sets the
TransactionManager used to manage transaction around fetching event data. |
protected void |
validate()
Validate whether the fields contained in this Builder are set accordingly.
|
public JpaSequencedDeadLetterQueue.Builder<T> processingGroup(String processingGroup)
processingGroup - The processing group of this SequencedDeadLetterQueue.public JpaSequencedDeadLetterQueue.Builder<T> maxSequences(int maxSequences)
SequencedDeadLetterQueue may contain.
The given maxSequences is required to be a positive number, higher or equal to 128. It
defaults to 1024.
maxSequences - The maximum amount of unique sequences for the queue under construction.public JpaSequencedDeadLetterQueue.Builder<T> maxSequenceSize(int maxSequenceSize)
letters per unique sequences this
SequencedDeadLetterQueue can store.
The given maxSequenceSize is required to be a positive number, higher or equal to 128. It
defaults to 1024.
maxSequenceSize - The maximum amount of letters per unique sequence.public JpaSequencedDeadLetterQueue.Builder<T> entityManagerProvider(EntityManagerProvider entityManagerProvider)
EntityManagerProvider which provides the EntityManager used to access the underlying
database for this JpaSequencedDeadLetterQueue implementation.entityManagerProvider - a EntityManagerProvider which provides the EntityManager used to
access the underlying databasepublic JpaSequencedDeadLetterQueue.Builder<T> transactionManager(TransactionManager transactionManager)
TransactionManager used to manage transaction around fetching event data. Required by
certain databases for reading blob data.transactionManager - a TransactionManager used to manage transaction around fetching event datapublic JpaSequencedDeadLetterQueue.Builder<T> serializer(Serializer serializer)
Serializer to (de)serialize the event payload,
event metadata, tracking token, and diagnostics of the DeadLetter when storing it to the database.serializer - The serializer to usepublic JpaSequencedDeadLetterQueue.Builder<T> eventSerializer(Serializer serializer)
Serializer to (de)serialize the event payload,
event metadata, and diagnostics of the DeadLetter when storing it to the database.serializer - The serializer to usepublic JpaSequencedDeadLetterQueue.Builder<T> genericSerializer(Serializer serializer)
Serializer to (de)serialize the tracking token of the event in
the DeadLetter when storing it to the database.serializer - The serializer to usepublic JpaSequencedDeadLetterQueue.Builder<T> clearConverters()
EventMessageDeadLetterJpaConverter.public JpaSequencedDeadLetterQueue.Builder<T> addConverter(DeadLetterJpaConverter<EventMessage<?>> converter)
DeadLetterJpaConverter to the configuration, which is used to deserialize dead-letter entries
from the database.public JpaSequencedDeadLetterQueue.Builder<T> claimDuration(Duration claimDuration)
JpaSequencedDeadLetterQueue.process(Predicate, Function) method will be unable to process a
sequence while the claim is active. Its default is 30 seconds.
Claims are automatically released once the item is requeued, the claim time is a backup policy in case of unforeseen trouble such as down database connections.
claimDuration - The longest claim duration allowed.public JpaSequencedDeadLetterQueue.Builder<T> queryPageSize(int queryPageSize)
100 items in a
page.queryPageSize - The page sizepublic JpaSequencedDeadLetterQueue<T> build()
JpaSequencedDeadLetterQueue as specified through this Builder.JpaSequencedDeadLetterQueue as specified through this Builder.protected void validate()
AxonConfigurationException - When one field asserts to be incorrect according to the Builder's
specifications.Copyright © 2010–2023. All rights reserved.