All Classes Interface Summary Class Summary Enum Summary Exception Summary Annotation Types Summary
| Class |
Description |
| AcknowledgeMessageAsHandled |
|
| AcknowledgeMessageAsHandledBuilder |
|
| ClientSessionAwareUnitOfWork |
Version of UnitOfWork that's aware of the ClientSession associated with the current UnitOfWork
Will likely be removed in the future as having access to the ClientSession doesn't seem to be needed
|
| CommandQueueNameSelector |
|
| CommandQueueNameSelector.SameCommandQueueForAllCommands |
|
| CommandQueueRedeliveryPolicyResolver |
|
| ConsumeFromQueue |
|
| ConsumeFromQueueBuilder |
|
| CorrelationId |
A correlation id is used to link multiple Messages or Events together in a distributed system
|
| DBFencedLock |
|
| DBFencedLockManager<UOW extends UnitOfWork,LOCK extends DBFencedLock> |
|
| DefaultDurableQueueConsumer<DURABLE_QUEUES extends DurableQueues,UOW extends UnitOfWork,UOW_FACTORY extends UnitOfWorkFactory<UOW>> |
The default DurableQueueConsumer which provides basic implementation (including retrying messages
in case of failure, polling interval optimization, etc.)
|
| DefaultQueuedMessage |
Represents a message queued onto a Durable Queue
|
| DeleteMessage |
|
| DeleteMessageBuilder |
|
| DurableLocalCommandBus |
|
| DurableLocalCommandBusBuilder |
|
| DurableQueueConsumer |
|
| DurableQueueConsumerNotifications |
|
| DurableQueueException |
|
| DurableQueues |
The DurableQueues concept supports intra-service point-to-point messaging using durable Queues that guarantee At-Least-Once delivery of messages.
The only requirement is that message producers and message consumers can access the same underlying durable Queue storage.
|
| DurableQueues.QueueingSortOrder |
|
| DurableQueuesInterceptor |
|
| EventId |
An Event id provides a unique identifier for an Event
|
| ExponentialBackoffBuilder |
|
| FencedLock |
Represents a named fenced lock, where the FencedLock.getCurrentToken() can be passed on to down stream logic, which can keep track of the token value to identify if a timed out lock is being used to request logic.
The fence locking concept is described here https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html
|
| FencedLockEvents |
|
| FencedLockEvents.FencedLockManagerStarted |
|
| FencedLockEvents.FencedLockManagerStopped |
|
| FencedLockEvents.LockAcquired |
|
| FencedLockEvents.LockConfirmed |
|
| FencedLockEvents.LockReleased |
|
| FencedLockManager |
This library provides a Distributed Locking Manager based of the Fenced Locking concept
described here
The FencedLockManager is responsible for obtaining and managing distributed FencedLock's, which are named exclusive locks.
Only one FencedLockManager instance can acquire a FencedLock at a time.
The implementation has been on supporting intra-service (i.e.
|
| FencedLockStorage<UOW extends UnitOfWork,LOCK extends DBFencedLock> |
|
| FixedBackoffBuilder |
|
| GenericHandleAwareUnitOfWorkFactory<UOW extends HandleAwareUnitOfWork> |
Generic HandleAwareUnitOfWorkFactory variant where the implementation manually
manages the UnitOfWork and the underlying database Transaction.
This class is built for inheritance, but can also be used directly - e.g.
|
| GenericHandleAwareUnitOfWorkFactory.GenericHandleAwareUnitOfWork |
|
| GetDeadLetterMessage |
|
| GetDeadLetterMessageBuilder |
|
| GetDeadLetterMessages |
Query Dead Letter Messages (i.e.
|
| GetDeadLetterMessagesBuilder |
|
| GetNextMessageReadyForDelivery |
Query the next Queued Message (i.e.
|
| GetNextMessageReadyForDeliveryBuilder |
|
| GetQueuedMessage |
|
| GetQueuedMessageBuilder |
|
| GetQueuedMessages |
Query Queued Messages (i.e.
|
| GetQueuedMessagesBuilder |
|
| GetTotalMessagesQueuedFor |
Get the total number of messages queued (i.e.
|
| GetTotalMessagesQueuedForBuilder |
|
| HandleAwareUnitOfWork |
Version of UnitOfWork that's aware of the Handle associated with the current UnitOfWork
|
| HandleAwareUnitOfWorkFactory<UOW extends HandleAwareUnitOfWork> |
|
| Inbox |
The Inbox supports the transactional Store and Forward pattern from Enterprise Integration Patterns supporting At-Least-Once delivery guarantee.
The Inbox pattern is used to handle incoming messages from a message infrastructure (such as a Queue, Kafka, EventBus, etc).
|
| InboxConfig |
|
| InboxConfigBuilder |
|
| Inboxes |
The Inbox supports the transactional Store and Forward pattern from Enterprise Integration Patterns supporting At-Least-Once delivery guarantee.
The Inbox pattern is used to handle incoming messages from a message infrastructure (such as a Queue, Kafka, EventBus, etc).
|
| Inboxes.DurableQueueBasedInboxes |
|
| InboxName |
|
| JdbiUnitOfWorkFactory |
|
| Lifecycle |
Common process life cycle interface
|
| LinearBackoffBuilder |
|
| ListenNotify |
Helper class for setting up the NOTIFY part of the classical Postgresql LISTEN/NOTIFY concept.
See https://jdbc.postgresql.org/documentation/81/listennotify.html and
https://www.postgresql.org/docs/current/sql-notify.html
|
| ListenNotify.SqlOperation |
|
| LockCallback |
|
| LockCallbackBuilder |
|
| LockName |
|
| MarkAsDeadLetterMessage |
|
| MarkAsDeadLetterMessageBuilder |
|
| Message |
|
| MessageConsumptionMode |
Defines how messages can be consumed by the provided message consumer
|
| MessageDeliveryErrorHandler |
Strategy for resolving which errors, experienced during Message delivery by the DurableQueueConsumer,
should be instantly marked as a Poison-Message/Dead-Letter-Message or
if we can attempt message redelivery according to the specified RedeliveryPolicy
|
| MessageDeliveryErrorHandler.AlwaysRetry |
|
| MessageDeliveryErrorHandler.StopRedeliveryOn |
|
| MessageDeliveryErrorHandlerBuilder |
|
| MessageHandler |
|
| MessageId |
A message id provides a unique identifier for a Message in a distributed system
|
| MessageMetaData |
Encapsulated Metadata (like headers, correlation id, tracing id's, etc.) associated with a Message
|
| MultiTableChangeListener<T extends TableChangeNotification> |
|
| NextQueuedMessage |
|
| NoActiveUnitOfWorkException |
|
| OrderedMessage |
Represents a message that will be delivered in order.
This of course requires that message are queued in order and that the consumer is single threaded.
All messages sharing the same OrderedMessage.key, will be delivered according to their OrderedMessage.order
An example of a message key is the id of the entity the message relates to
|
| Outbox |
The Outbox supports the transactional Store and Forward pattern from Enterprise Integration Patterns supporting At-Least-Once delivery guarantee.
The Outbox pattern is used to handle outgoing messages, that are created as a side effect of adding/updating an entity in a database, but where the message infrastructure
(such as a Queue, Kafka, EventBus, etc.) that doesn't share the same underlying transactional resource as the database.
Instead, you need to use an Outbox that can join in the same UnitOfWork/transactional-resource
that the database is using.
The message is added to the Outbox in a transaction/ UnitOfWork and afterwards the UnitOfWork is committed.
If the transaction fails then both the entity and the message will be rolled back when then UnitOfWork rolls back.
After the UnitOfWork has been committed, the messages will be asynchronously delivered to the message consumer in a new UnitOfWork.
The Outbox itself supports Message Redelivery in case the Message consumer experiences failures.
This means that the Message consumer, registered with the Outbox, can and will receive Messages more than once and therefore its message handling has to be idempotent.
|
| OutboxConfig |
|
| OutboxConfigBuilder |
|
| Outboxes |
The Outbox supports the transactional Store and Forward pattern from Enterprise Integration Patterns supporting At-Least-Once delivery guarantee.
The Outbox pattern is used to handle outgoing messages, that are created as a side effect of adding/updating an entity in a database, but where the message infrastructure
(such as a Queue, Kafka, EventBus, etc.) that doesn't share the same underlying transactional resource as the database.
Instead, you need to use an Outbox that can join in the same UnitOfWork/transactional-resource
that the database is using.
The message is added to the Outbox in a transaction/ UnitOfWork and afterwards the UnitOfWork is committed.
If the transaction fails then both the entity and the message will be rolled back when then UnitOfWork rolls back.
After the UnitOfWork has been committed, the messages will be asynchronously delivered to the message consumer in a new UnitOfWork.
The Outbox itself supports Message Redelivery in case the Message consumer experiences failures.
This means that the Message consumer, registered with the Outbox, can and will receive Messages more than once and therefore its message handling has to be idempotent.
|
| Outboxes.DurableQueueBasedOutboxes |
|
| OutboxName |
|
| PatternMatchingMessageHandler |
|
| PatternMatchingQueuedMessageHandler |
|
| PurgeQueue |
|
| PurgeQueueBuilder |
|
| QueuedMessage |
|
| QueuedMessage.DeliveryMode |
|
| QueuedMessageHandler |
|
| QueueEntryId |
The unique entry for a message in a queue.
|
| QueueMessage |
|
| QueueMessageAsDeadLetterMessage |
Queue the message directly as a Dead Letter Message.
|
| QueueMessageAsDeadLetterMessageBuilder |
|
| QueueMessageBuilder |
|
| QueueMessages |
Queue multiple messages to the same queue.
|
| QueueMessagesBuilder |
|
| QueueName |
The name of a Durable Queue
|
| QueuePollingOptimizer |
|
| QueuePollingOptimizer.SimpleQueuePollingOptimizer |
|
| RandomIdGenerator |
RandomId generator that either:
Generates UUIDv1 time-based (i.e.
|
| RedeliveryPolicy |
|
| RedeliveryPolicyBuilder |
|
| ResurrectDeadLetterMessage |
|
| ResurrectDeadLetterMessageBuilder |
|
| RetryMessage |
|
| RetryMessageBuilder |
|
| SpringMongoTransactionAwareUnitOfWorkFactory |
|
| SpringMongoTransactionAwareUnitOfWorkFactory.SpringMongoTransactionAwareUnitOfWork |
|
| SpringTransactionAwareJdbiUnitOfWorkFactory |
|
| SpringTransactionAwareJdbiUnitOfWorkFactory.SpringTransactionAwareHandleAwareUnitOfWork |
|
| SpringTransactionAwareUnitOfWork<TRX_MGR extends org.springframework.transaction.PlatformTransactionManager,UOW extends SpringTransactionAwareUnitOfWork<TRX_MGR,UOW>> |
|
| SpringTransactionAwareUnitOfWorkFactory<TRX_MGR extends org.springframework.transaction.PlatformTransactionManager,UOW extends SpringTransactionAwareUnitOfWork<TRX_MGR,UOW>> |
|
| SqlExecutionTimeLogger |
Log the execution time for SQL statements
|
| StopConsumingFromQueue |
|
| StopConsumingFromQueueBuilder |
|
| SubscriberId |
A subscriber id is used to uniquely identify an event subscriber
|
| TableChangeNotification |
|
| Tenant |
Marker interface for types that are used to distinguish between Tenant
specific data in a data store.
A tenant can be as simple as a SingleValueType or it can be more
complex such as including both Tenant-Id and a CountryCode denoting
the country where the Tenant data is owned.
The serialization of the tenant is always the Object.toString() value,
and it is deserialized by using a default single string argument constructor
|
| TenantId |
Simple single value Tenant identifier
|
| TransactionalMode |
|
| UnitOfWork |
|
| UnitOfWorkControllingCommandBusInterceptor |
|
| UnitOfWorkException |
Represents an Exception that occurred in relation to a UnitOfWork
|
| UnitOfWorkFactory<UOW extends UnitOfWork> |
|
| UnitOfWorkLifecycleCallback<RESOURCE_TYPE> |
Callback that can be registered with a UnitOfWork in relation to
one of more Resources (can e.g.
|
| UnitOfWorkStatus |
|