Package com.gruelbox.transactionoutbox
-
Interface Summary Interface Description ConnectionProvider Source for JDBC connections to be provided to aTransactionManager
.Instantiator Provides callbacks for the creation and serialization of classes byTransactionOutbox
.InvocationSerializer Invocation
objects are inherently difficult to serialize safely since they are unpredictably polymorphic.ParameterContextTransactionManager<T> A transaction manager which makes no assumption of a "current"Transaction
.Persistor Saves and loadsTransactionOutboxEntry
s.Submitter Called byTransactionOutbox
to submit work for background processing.ThreadLocalContextTransactionManager 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.ThrowingRunnable A runnable...ThrowingTransactionalSupplier<T,E extends Exception> ThrowingTransactionalWork<E extends Exception> Transaction Access and manipulation of a currently-active transaction.TransactionalSupplier<T> TransactionalWork TransactionManager Key interface givingTransactionOutbox
access to JDBC.TransactionOutbox An implementation of the Transactional Outbox pattern for Java.TransactionOutbox.ParameterizedScheduleBuilder TransactionOutboxListener A listener for events fired byTransactionOutbox
.TransactionOutboxListener.Invocator -
Class Summary Class Description DefaultInvocationSerializer A locked-down serializer which supports a limited list of primitives and simple JDK value types.DefaultInvocationSerializer.DefaultInvocationSerializerBuilder DefaultPersistor The defaultPersistor
forTransactionOutbox
.DefaultPersistor.DefaultPersistorBuilder<C extends DefaultPersistor,B extends DefaultPersistor.DefaultPersistorBuilder<C,B>> ExecutorSubmitter Schedules background work using a localExecutor
implementation.ExecutorSubmitter.ExecutorSubmitterBuilder Invocation Represents the invocation of a specific method on a named class (where the name is provided by anInstantiator
), with the specified arguments.ProxyFactory StubParameterContextTransactionManager<C> A stub transaction manager that assumes no underlying database, and a transaction context of the specified type.StubPersistor Stub implementation ofPersistor
.StubPersistor.StubPersistorBuilder StubThreadLocalTransactionManager A stub transaction manager that assumes no underlying database and thread local transaction management.TransactionalInvocation Describes a method invocation along with the transaction scope in which it should be performed.TransactionOutbox.TransactionOutboxBuilder Builder forTransactionOutbox
.TransactionOutboxEntry Internal representation of aTransactionOutbox
task.TransactionOutboxEntry.TransactionOutboxEntryBuilder<C extends TransactionOutboxEntry,B extends TransactionOutboxEntry.TransactionOutboxEntryBuilder<C,B>> -
Enum Summary Enum Description Dialect The SQL dialects supported byDefaultPersistor
. -
Exception Summary Exception Description AlreadyScheduledException Thrown when we attempt to schedule an invocation with a unique client id which has already been used withinTransactionOutbox.TransactionOutboxBuilder.retentionThreshold(Duration)
.MissingOptionalDependencyException NoTransactionActiveException Thrown if an active transaction is required by a method and no transaction is active.UncheckedException A wrappedException
where unchecked exceptions are caught and propagated as runtime. -
Annotation Types Summary Annotation Type Description Beta Signifies that a public API (public class, method or field) is subject to incompatible changes, or even removal, in a future release.