Package com.gruelbox.transactionoutbox
package com.gruelbox.transactionoutbox
-
ClassDescriptionThrown when we attempt to schedule an invocation with a unique client id which has already been used within
TransactionOutbox.TransactionOutboxBuilder.retentionThreshold(Duration)
.Source for JDBC connections to be provided to aTransactionManager
.A locked-down serializer which supports a limited list of primitives and simple JDK value types.The defaultPersistor
forTransactionOutbox
.DefaultPersistor.DefaultPersistorBuilder<C extends DefaultPersistor,B extends DefaultPersistor.DefaultPersistorBuilder<C, B>> The SQL dialects supported byDefaultPersistor
.Schedules background work using a localExecutor
implementation.Provides callbacks for the creation and serialization of classes byTransactionOutbox
.Represents the invocation of a specific method on a named class (where the name is provided by anInstantiator
), with the specified arguments.Invocation
objects are inherently difficult to serialize safely since they are unpredictably polymorphic.A database migration script entry.Thrown if an active transaction is required by a method and no transaction is active.Thrown when we attempt to update a record which has been modified by another thread.A transaction manager which makes no assumption of a "current"Transaction
.Saves and loadsTransactionOutboxEntry
s.A stub transaction manager that assumes no underlying database, and a transaction context of the specified type.Stub implementation ofPersistor
.A stub transaction manager that assumes no underlying database and thread local transaction management.Called byTransactionOutbox
to submit work for background processing.A transaction manager which assumes there is a single "current"Transaction
on a thread (presumably saved in aThreadLocal
) which can be both used byTransactionOutbox.schedule(Class)
as the current context to write records usingPersistor
and used by scheduled methods themselves to write changes within the transaction started as a result of reading and locking the request.A runnable...ThrowingTransactionalSupplier<T,E extends Exception> ThrowingTransactionalWork<E extends Exception>Access and manipulation of a currently-active transaction.Describes a method invocation along with the transaction scope in which it should be performed.Key interface givingTransactionOutbox
access to JDBC.An implementation of the Transactional Outbox pattern for Java.Builder forTransactionOutbox
.Internal representation of aTransactionOutbox
task.TransactionOutboxEntry.TransactionOutboxEntryBuilder<C extends TransactionOutboxEntry,B extends TransactionOutboxEntry.TransactionOutboxEntryBuilder<C, B>> A listener for events fired byTransactionOutbox
.A wrappedException
where unchecked exceptions are caught and propagated as runtime.