Index
All Classes and Interfaces|All Packages|Serialized Form
$
- $fillValuesFrom(C) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
A
- AbstractFullyQualifiedNameInstantiator - Class in com.gruelbox.transactionoutbox.spi
-
Abstract
Instantiator
implementation which simplifies the creation of implementations which instantiate based on the clazz FQN. - AbstractFullyQualifiedNameInstantiator() - Constructor for class com.gruelbox.transactionoutbox.spi.AbstractFullyQualifiedNameInstantiator
- AbstractFullyQualifiedNameInstantiator(AbstractFullyQualifiedNameInstantiator.AbstractFullyQualifiedNameInstantiatorBuilder<?, ?>) - Constructor for class com.gruelbox.transactionoutbox.spi.AbstractFullyQualifiedNameInstantiator
- AbstractFullyQualifiedNameInstantiator.AbstractFullyQualifiedNameInstantiatorBuilder<C,
B> - Class in com.gruelbox.transactionoutbox.spi - AbstractFullyQualifiedNameInstantiatorBuilder() - Constructor for class com.gruelbox.transactionoutbox.spi.AbstractFullyQualifiedNameInstantiator.AbstractFullyQualifiedNameInstantiatorBuilder
- AbstractThreadLocalTransactionManager<TX> - Class in com.gruelbox.transactionoutbox.spi
- AbstractThreadLocalTransactionManager() - Constructor for class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager
- AbstractThreadLocalTransactionManager(AbstractThreadLocalTransactionManager.AbstractThreadLocalTransactionManagerBuilder<TX, ?, ?>) - Constructor for class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager
- AbstractThreadLocalTransactionManager.AbstractThreadLocalTransactionManagerBuilder<TX,
C, - Class in com.gruelbox.transactionoutbox.spiB> - AbstractThreadLocalTransactionManagerBuilder() - Constructor for class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager.AbstractThreadLocalTransactionManagerBuilder
- addPostCommitHook(Runnable) - Method in class com.gruelbox.transactionoutbox.spi.SimpleTransaction
- addPostCommitHook(Runnable) - Method in interface com.gruelbox.transactionoutbox.Transaction
-
Will be called to perform work immediately after the current transaction is committed.
- AlreadyScheduledException - Exception Class in com.gruelbox.transactionoutbox
-
Thrown when we attempt to schedule an invocation with a unique client id which has already been used within
TransactionOutbox.TransactionOutboxBuilder.retentionThreshold(Duration)
. - andThen(TransactionOutboxListener) - Method in interface com.gruelbox.transactionoutbox.TransactionOutboxListener
-
Chains this listener with another and returns the result.
- attemptFrequency - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- attemptFrequency(Duration) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- attempts(int) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
B
- blockAfterAttempts - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- blockAfterAttempts(int) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- blocked(boolean) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- blocked(TransactionOutboxEntry, Throwable) - Method in interface com.gruelbox.transactionoutbox.TransactionOutboxListener
-
Fired when a transaction outbox task has passed the maximum number of retries and has been blocked.
- booleanValue(boolean) - Method in interface com.gruelbox.transactionoutbox.Dialect
- build() - Method in class com.gruelbox.transactionoutbox.DefaultInvocationSerializer.DefaultInvocationSerializerBuilder
- build() - Method in class com.gruelbox.transactionoutbox.DefaultPersistor.DefaultPersistorBuilder
- build() - Method in class com.gruelbox.transactionoutbox.ExecutorSubmitter.ExecutorSubmitterBuilder
- build() - Method in class com.gruelbox.transactionoutbox.spi.AbstractFullyQualifiedNameInstantiator.AbstractFullyQualifiedNameInstantiatorBuilder
- build() - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager.AbstractThreadLocalTransactionManagerBuilder
- build() - Method in class com.gruelbox.transactionoutbox.StubPersistor.StubPersistorBuilder
- build() - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
-
Creates and initialises the
TransactionOutbox
. - build() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- builder() - Static method in class com.gruelbox.transactionoutbox.DefaultInvocationSerializer
- builder() - Static method in class com.gruelbox.transactionoutbox.DefaultPersistor
- builder() - Static method in class com.gruelbox.transactionoutbox.ExecutorSubmitter
- builder() - Static method in class com.gruelbox.transactionoutbox.StubPersistor
- builder() - Static method in interface com.gruelbox.transactionoutbox.TransactionOutbox
- builder() - Static method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
C
- canEqual(Object) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- checkConnection(Transaction) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- checkConnection(Transaction) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Checks the connection status of a transaction.
- checkConnection(Transaction) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- clear(Transaction) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- clear(Transaction) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Clears the database.
- clear(Transaction) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- clockProvider - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- clockProvider(Supplier<Clock>) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- close() - Method in class com.gruelbox.transactionoutbox.spi.SimpleTransaction
- com.gruelbox.transactionoutbox - package com.gruelbox.transactionoutbox
- com.gruelbox.transactionoutbox.spi - package com.gruelbox.transactionoutbox.spi
- commit() - Method in class com.gruelbox.transactionoutbox.spi.SimpleTransaction
- connection() - Method in class com.gruelbox.transactionoutbox.spi.SimpleTransaction
- connection() - Method in interface com.gruelbox.transactionoutbox.Transaction
- ConnectionProvider - Interface in com.gruelbox.transactionoutbox
-
Source for JDBC connections to be provided to a
TransactionManager
. - context() - Method in class com.gruelbox.transactionoutbox.spi.SimpleTransaction
- context() - Method in interface com.gruelbox.transactionoutbox.Transaction
- contextType() - Method in interface com.gruelbox.transactionoutbox.ParameterContextTransactionManager
- contextType() - Method in class com.gruelbox.transactionoutbox.StubParameterContextTransactionManager
- createDefaultJsonSerializer() - Static method in interface com.gruelbox.transactionoutbox.InvocationSerializer
-
Creates a locked-down serializer which supports a limited list of primitives and simple JDK value types.
- createInstance(Class<?>) - Method in class com.gruelbox.transactionoutbox.spi.AbstractFullyQualifiedNameInstantiator
- createLoggingProxy(ProxyFactory, Class<T>) - Static method in class com.gruelbox.transactionoutbox.spi.Utils
- createProxy(Class<T>, BiFunction<Method, Object[], T>) - Method in class com.gruelbox.transactionoutbox.spi.ProxyFactory
- createVersionTableIfNotExists(Connection) - Method in interface com.gruelbox.transactionoutbox.Dialect
D
- DefaultInvocationSerializer - Class in com.gruelbox.transactionoutbox
-
A locked-down serializer which supports a limited list of primitives and simple JDK value types.
- DefaultInvocationSerializer.DefaultInvocationSerializerBuilder - Class in com.gruelbox.transactionoutbox
- DefaultPersistor - Class in com.gruelbox.transactionoutbox
-
The default
Persistor
forTransactionOutbox
. - DefaultPersistor(int, Dialect, String, boolean, InvocationSerializer) - Constructor for class com.gruelbox.transactionoutbox.DefaultPersistor
- DefaultPersistor(DefaultPersistor.DefaultPersistorBuilder<?, ?>) - Constructor for class com.gruelbox.transactionoutbox.DefaultPersistor
- DefaultPersistor.DefaultPersistorBuilder<C,
B> - Class in com.gruelbox.transactionoutbox - DefaultPersistorBuilder() - Constructor for class com.gruelbox.transactionoutbox.DefaultPersistor.DefaultPersistorBuilder
- delayForAtLeast(Duration) - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox.ParameterizedScheduleBuilder
-
Instructs the scheduler to delay processing the task until after the specified duration.
- delete(Transaction, TransactionOutboxEntry) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- delete(Transaction, TransactionOutboxEntry) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Deletes a
TransactionOutboxEntry
. - delete(Transaction, TransactionOutboxEntry) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- deleteProcessedAndExpired(Transaction, int, Instant) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- deleteProcessedAndExpired(Transaction, int, Instant) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Deletes records which have processed and passed their expiry time, in specified batch sizes.
- deleteProcessedAndExpired(Transaction, int, Instant) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- description() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- description(String) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- deserializeInvocation(Reader) - Method in class com.gruelbox.transactionoutbox.DefaultInvocationSerializer
- deserializeInvocation(Reader) - Method in interface com.gruelbox.transactionoutbox.InvocationSerializer
-
Deserializes an invocation from the supplied reader.
- dialect(Dialect) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor.DefaultPersistorBuilder
- Dialect - Interface in com.gruelbox.transactionoutbox
-
The SQL dialects supported by
DefaultPersistor
. - doWork(Transaction) - Method in interface com.gruelbox.transactionoutbox.ThrowingTransactionalSupplier
- doWork(Transaction) - Method in interface com.gruelbox.transactionoutbox.ThrowingTransactionalWork
- doWork(Transaction) - Method in interface com.gruelbox.transactionoutbox.TransactionalSupplier
- doWork(Transaction) - Method in interface com.gruelbox.transactionoutbox.TransactionalWork
E
- EMPTY - Static variable in interface com.gruelbox.transactionoutbox.TransactionOutboxListener
- equals(Object) - Method in class com.gruelbox.transactionoutbox.Invocation
- equals(Object) - Method in class com.gruelbox.transactionoutbox.Migration
- equals(Object) - Method in class com.gruelbox.transactionoutbox.TransactionalInvocation
- equals(Object) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- executor(Executor) - Method in class com.gruelbox.transactionoutbox.ExecutorSubmitter.ExecutorSubmitterBuilder
- ExecutorSubmitter - Class in com.gruelbox.transactionoutbox
-
Schedules background work using a local
Executor
implementation. - ExecutorSubmitter.ExecutorSubmitterBuilder - Class in com.gruelbox.transactionoutbox
- extractTransaction(Method, Object[]) - Method in interface com.gruelbox.transactionoutbox.ParameterContextTransactionManager
-
Obtains the active transaction by parsing the method arguments for a
Transaction
or a context (any object of typeParameterContextTransactionManager.contextType()
). - extractTransaction(Method, Object[]) - Method in interface com.gruelbox.transactionoutbox.ThreadLocalContextTransactionManager
-
Obtains the active transaction by using
ThreadLocalContextTransactionManager.requireTransactionReturns(ThrowingTransactionalSupplier)
, thus requiring nothing to be passed in the method invocation. - extractTransaction(Method, Object[]) - Method in interface com.gruelbox.transactionoutbox.TransactionManager
-
All transaction managers need to be able to take a method call at the time it is scheduled and determine the
Transaction
to use to pass toPersistor
and save the request.
F
- failure(TransactionOutboxEntry, Throwable) - Method in interface com.gruelbox.transactionoutbox.TransactionOutboxListener
-
Fired when a transaction outbox task fails.
- firstNonNull(T, Supplier<T>) - Static method in class com.gruelbox.transactionoutbox.spi.Utils
- flush() - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox
-
Flush in a single thread.
- flush(Executor) - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox
-
Identifies any stale tasks queued using
TransactionOutbox.schedule(Class)
(those which were queued more than suppliedTransactionOutbox.TransactionOutboxBuilder.attemptFrequency(Duration)
ago and have been tried less thanTransactionOutbox.TransactionOutboxBuilder.blockAfterAttempts(int)
)} times) and attempts to resubmit them. - flushBatches() - Method in class com.gruelbox.transactionoutbox.spi.SimpleTransaction
- flushBatchSize - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- flushBatchSize(int) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- forDialect(Dialect) - Static method in interface com.gruelbox.transactionoutbox.Persistor
-
Uses the default relational persistor.
- fromConnectionDetails(String, String, String, String) - Static method in interface com.gruelbox.transactionoutbox.TransactionManager
-
Creates a simple transaction manager which uses the specified connection details to request a new connection from the
DriverManager
every time a new transaction starts. - fromDataSource(DataSource) - Static method in interface com.gruelbox.transactionoutbox.TransactionManager
-
Creates a simple transaction manager which uses the specified
DataSource
to source connections. - fromRunnable(Runnable) - Static method in interface com.gruelbox.transactionoutbox.ThrowingTransactionalSupplier
- fromSupplier(TransactionalSupplier<T>) - Static method in interface com.gruelbox.transactionoutbox.ThrowingTransactionalSupplier
- fromWork(ThrowingTransactionalWork<F>) - Static method in interface com.gruelbox.transactionoutbox.ThrowingTransactionalSupplier
- fromWork(TransactionalWork) - Static method in interface com.gruelbox.transactionoutbox.ThrowingTransactionalSupplier
- fromWork(TransactionalWork) - Static method in interface com.gruelbox.transactionoutbox.TransactionalSupplier
G
- getArgs() - Method in class com.gruelbox.transactionoutbox.Invocation
- getArgs() - Method in class com.gruelbox.transactionoutbox.TransactionalInvocation
- getAttempts() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- getCheckSql() - Method in interface com.gruelbox.transactionoutbox.Dialect
- getClassName() - Method in class com.gruelbox.transactionoutbox.Invocation
- getClazz() - Method in class com.gruelbox.transactionoutbox.TransactionalInvocation
- getDelete() - Method in interface com.gruelbox.transactionoutbox.Dialect
- getDeleteExpired() - Method in interface com.gruelbox.transactionoutbox.Dialect
- getFetchCurrentVersion() - Method in interface com.gruelbox.transactionoutbox.Dialect
- getFetchNextInAllTopics() - Method in interface com.gruelbox.transactionoutbox.Dialect
- getFetchNextSequence() - Method in interface com.gruelbox.transactionoutbox.Dialect
- getId() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- getInstance(String) - Method in interface com.gruelbox.transactionoutbox.Instantiator
-
Requests an instance of the named class, where the "name" is whatever is returned by
Instantiator.getName(Class)
. - getInstance(String) - Method in class com.gruelbox.transactionoutbox.spi.AbstractFullyQualifiedNameInstantiator
- getInvocation() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- getLastAttemptTime() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- getLock() - Method in interface com.gruelbox.transactionoutbox.Dialect
- getMdc() - Method in class com.gruelbox.transactionoutbox.Invocation
- getMethodName() - Method in class com.gruelbox.transactionoutbox.Invocation
- getMethodName() - Method in class com.gruelbox.transactionoutbox.TransactionalInvocation
- getMigrations() - Method in interface com.gruelbox.transactionoutbox.Dialect
- getName() - Method in class com.gruelbox.transactionoutbox.Migration
- getName(Class<?>) - Method in interface com.gruelbox.transactionoutbox.Instantiator
-
Provides the name of the specified class.
- getName(Class<?>) - Method in class com.gruelbox.transactionoutbox.spi.AbstractFullyQualifiedNameInstantiator
- getNextAttemptTime() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- getParameters() - Method in class com.gruelbox.transactionoutbox.TransactionalInvocation
- getParameterTypes() - Method in class com.gruelbox.transactionoutbox.Invocation
- getSelectBatch() - Method in interface com.gruelbox.transactionoutbox.Dialect
- getSequence() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- getSql() - Method in class com.gruelbox.transactionoutbox.Migration
- getTopic() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- getTransaction() - Method in class com.gruelbox.transactionoutbox.TransactionalInvocation
- getUniqueRequestId() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- getVersion() - Method in class com.gruelbox.transactionoutbox.Migration
- getVersion() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
H
- H2 - Static variable in interface com.gruelbox.transactionoutbox.Dialect
- hashCode() - Method in class com.gruelbox.transactionoutbox.Invocation
- hashCode() - Method in class com.gruelbox.transactionoutbox.Migration
- hashCode() - Method in class com.gruelbox.transactionoutbox.TransactionalInvocation
- hashCode() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
I
- id(String) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- initialize() - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox
-
Performs initial setup, making the instance usable.
- initialized(boolean) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- initializeImmediately - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- initializeImmediately(boolean) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- injectTransaction(Invocation, Transaction) - Method in interface com.gruelbox.transactionoutbox.ParameterContextTransactionManager
-
Modifies an
Invocation
at runtime to rehyrate it with the transaction context in which the record was locked. - injectTransaction(Invocation, Transaction) - Method in interface com.gruelbox.transactionoutbox.ThreadLocalContextTransactionManager
-
The transaction is not needed as part of an invocation, so the invocation is left unmodified.
- injectTransaction(Invocation, Transaction) - Method in interface com.gruelbox.transactionoutbox.TransactionManager
-
Makes any modifications to an invocation at runtime necessary to inject the current transaction or transaction context.
- instantiator - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- instantiator(Instantiator) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- Instantiator - Interface in com.gruelbox.transactionoutbox
-
Provides callbacks for the creation and serialization of classes by
TransactionOutbox
. - inTransaction(TransactionalWork) - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager
- inTransaction(TransactionalWork) - Method in interface com.gruelbox.transactionoutbox.TransactionManager
-
Should do any work necessary to start a (new) transaction, call
runnable
and then either commit on success or rollback on failure, flushing and closing any prepared statements prior to a commit and firing post commit hooks immediately afterwards - inTransaction(Runnable) - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager
- inTransaction(Runnable) - Method in interface com.gruelbox.transactionoutbox.TransactionManager
-
Should do any work necessary to start a (new) transaction, call
runnable
and then either commit on success or rollback on failure, flushing and closing any prepared statements prior to a commit and firing post commit hooks immediately afterwards - inTransactionReturns(TransactionalSupplier<T>) - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager
- inTransactionReturns(TransactionalSupplier<T>) - Method in interface com.gruelbox.transactionoutbox.TransactionManager
-
Should do any work necessary to start a (new) transaction, call
runnable
and then either commit on success or rollback on failure, flushing and closing any prepared statements prior to a commit and firing post commit hooks immediately afterwards. - inTransactionReturnsThrows(ThrowingTransactionalSupplier<T, E>) - Method in class com.gruelbox.transactionoutbox.StubParameterContextTransactionManager
- inTransactionReturnsThrows(ThrowingTransactionalSupplier<T, E>) - Method in class com.gruelbox.transactionoutbox.StubThreadLocalTransactionManager
- inTransactionReturnsThrows(ThrowingTransactionalSupplier<T, E>) - Method in interface com.gruelbox.transactionoutbox.TransactionManager
-
Should do any work necessary to start a (new) transaction, call
work
and then either commit on success or rollback on failure, flushing and closing any prepared statements prior to a commit and firing post commit hooks immediately afterwards. - inTransactionThrows(ThrowingTransactionalWork<E>) - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager
- inTransactionThrows(ThrowingTransactionalWork<E>) - Method in interface com.gruelbox.transactionoutbox.TransactionManager
-
Should do any work necessary to start a (new) transaction, call
runnable
and then either commit on success or rollback on failure, flushing and closing any prepared statements prior to a commit and firing post commit hooks immediately afterwards. - invocation(Invocation) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- Invocation - Class in com.gruelbox.transactionoutbox
-
Represents the invocation of a specific method on a named class (where the name is provided by an
Instantiator
), with the specified arguments. - Invocation(String, String, Class<?>[], Object[]) - Constructor for class com.gruelbox.transactionoutbox.Invocation
- Invocation(String, String, Class<?>[], Object[], Map<String, String>) - Constructor for class com.gruelbox.transactionoutbox.Invocation
- InvocationSerializer - Interface in com.gruelbox.transactionoutbox
-
Invocation
objects are inherently difficult to serialize safely since they are unpredictably polymorphic. - isBlocked() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- isProcessed() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
L
- lastAttemptTime(Instant) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- listener - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- listener(TransactionOutboxListener) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- lock(Transaction, TransactionOutboxEntry) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- lock(Transaction, TransactionOutboxEntry) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Attempts to pessimistically lock an existing
TransactionOutboxEntry
. - lock(Transaction, TransactionOutboxEntry) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- logAtLevel(Logger, Level, String, Object...) - Static method in class com.gruelbox.transactionoutbox.spi.Utils
- logLevelTemporaryFailure - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- logLevelTemporaryFailure(Level) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- logLevelWorkQueueSaturation(Level) - Method in class com.gruelbox.transactionoutbox.ExecutorSubmitter.ExecutorSubmitterBuilder
M
- migrate(boolean) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor.DefaultPersistorBuilder
- migrate(TransactionManager) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- migrate(TransactionManager) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Upgrades any database schema used by the persistor to the latest version.
- migrate(TransactionManager) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- Migration - Class in com.gruelbox.transactionoutbox
-
A database migration script entry.
- Migration(int, String, String) - Constructor for class com.gruelbox.transactionoutbox.Migration
- MissingOptionalDependencyException - Exception Class in com.gruelbox.transactionoutbox
- MissingOptionalDependencyException(String, String) - Constructor for exception class com.gruelbox.transactionoutbox.MissingOptionalDependencyException
- MS_SQL_SERVER - Static variable in interface com.gruelbox.transactionoutbox.Dialect
- MY_SQL_5 - Static variable in interface com.gruelbox.transactionoutbox.Dialect
- MY_SQL_8 - Static variable in interface com.gruelbox.transactionoutbox.Dialect
N
- nextAttemptTime(Instant) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- NoTransactionActiveException - Exception Class in com.gruelbox.transactionoutbox
-
Thrown if an active transaction is required by a method and no transaction is active.
- NoTransactionActiveException() - Constructor for exception class com.gruelbox.transactionoutbox.NoTransactionActiveException
- NoTransactionActiveException(Throwable) - Constructor for exception class com.gruelbox.transactionoutbox.NoTransactionActiveException
O
- obtainConnection() - Method in interface com.gruelbox.transactionoutbox.ConnectionProvider
-
Requests a new connection, or an available connection from a pool.
- OptimisticLockException - Exception Class in com.gruelbox.transactionoutbox
-
Thrown when we attempt to update a record which has been modified by another thread.
- OptimisticLockException() - Constructor for exception class com.gruelbox.transactionoutbox.OptimisticLockException
- ORACLE - Static variable in interface com.gruelbox.transactionoutbox.Dialect
- ordered(String) - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox.ParameterizedScheduleBuilder
-
Specifies that the request should be applied in a strictly-ordered fashion within the specified topic.
P
- ParameterContextTransactionManager<T> - Interface in com.gruelbox.transactionoutbox
-
A transaction manager which makes no assumption of a "current"
Transaction
. - peekTransaction() - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager
- persistor - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- persistor(Persistor) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- Persistor - Interface in com.gruelbox.transactionoutbox
-
Saves and loads
TransactionOutboxEntry
s. - popTransaction() - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager
- POSTGRESQL_9 - Static variable in interface com.gruelbox.transactionoutbox.Dialect
- prepareBatchStatement(String) - Method in class com.gruelbox.transactionoutbox.spi.SimpleTransaction
- prepareBatchStatement(String) - Method in interface com.gruelbox.transactionoutbox.Transaction
-
Creates a prepared statement which will be cached and re-used within a transaction.
- processed(boolean) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- processHooks() - Method in class com.gruelbox.transactionoutbox.spi.SimpleTransaction
- processNow(TransactionOutboxEntry) - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox
-
Processes an entry immediately in the current thread.
- ProxyFactory - Class in com.gruelbox.transactionoutbox.spi
- ProxyFactory() - Constructor for class com.gruelbox.transactionoutbox.spi.ProxyFactory
- pushTransaction(TX) - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager
R
- requireTransaction(ThrowingTransactionalWork<E>) - Method in interface com.gruelbox.transactionoutbox.ThreadLocalContextTransactionManager
-
Runs the specified work in the context of the "current" transaction (the definition of which is up to the implementation).
- requireTransactionReturns(ThrowingTransactionalSupplier<T, E>) - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager
- requireTransactionReturns(ThrowingTransactionalSupplier<T, E>) - Method in interface com.gruelbox.transactionoutbox.ThreadLocalContextTransactionManager
-
Runs the specified work in the context of the "current" transaction (the definition of which is up to the implementation).
- retentionThreshold - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- retentionThreshold(Duration) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- rollback() - Method in class com.gruelbox.transactionoutbox.spi.SimpleTransaction
- run() - Method in interface com.gruelbox.transactionoutbox.ThrowingRunnable
- run() - Method in interface com.gruelbox.transactionoutbox.TransactionOutboxListener.Invocator
S
- safelyClose(AutoCloseable...) - Static method in class com.gruelbox.transactionoutbox.spi.Utils
- safelyClose(Iterable<? extends AutoCloseable>) - Static method in class com.gruelbox.transactionoutbox.spi.Utils
- safelyRun(String, ThrowingRunnable) - Static method in class com.gruelbox.transactionoutbox.spi.Utils
- save(Transaction, TransactionOutboxEntry) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- save(Transaction, TransactionOutboxEntry) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Saves a new
TransactionOutboxEntry
. - save(Transaction, TransactionOutboxEntry) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- schedule(Class<T>) - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox.ParameterizedScheduleBuilder
-
Equivalent to
TransactionOutbox.schedule(Class)
, but applying additional parameters to the request as configured usingTransactionOutbox.with()
. - schedule(Class<T>) - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox
-
The main entry point for submitting new transaction outbox tasks.
- scheduled(TransactionOutboxEntry) - Method in interface com.gruelbox.transactionoutbox.TransactionOutboxListener
-
Fired when a transaction outbox task is scheduled.
- selectBatch(Transaction, int, Instant) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- selectBatch(Transaction, int, Instant) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Selects up to a specified maximum number of non-blocked records which have passed their
TransactionOutboxEntry.getNextAttemptTime()
. - selectBatch(Transaction, int, Instant) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- selectNextInTopics(Transaction, int, Instant) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- selectNextInTopics(Transaction, int, Instant) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Selects the next items in all the open topics as a batch for processing.
- selectNextInTopics(Transaction, int, Instant) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- self() - Method in class com.gruelbox.transactionoutbox.DefaultPersistor.DefaultPersistorBuilder
- self() - Method in class com.gruelbox.transactionoutbox.spi.AbstractFullyQualifiedNameInstantiator.AbstractFullyQualifiedNameInstantiatorBuilder
- self() - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager.AbstractThreadLocalTransactionManagerBuilder
- self() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- sequence(Long) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- serializableTypes(Set<Class<?>>) - Method in class com.gruelbox.transactionoutbox.DefaultInvocationSerializer.DefaultInvocationSerializerBuilder
- serializeInvocation(Invocation, Writer) - Method in class com.gruelbox.transactionoutbox.DefaultInvocationSerializer
- serializeInvocation(Invocation, Writer) - Method in interface com.gruelbox.transactionoutbox.InvocationSerializer
-
Serializes an invocation to the supplied writer.
- serializeMdc - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- serializeMdc(Boolean) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- serializer(InvocationSerializer) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor.DefaultPersistorBuilder
- setAttempts(int) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- setBlocked(boolean) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- setLastAttemptTime(Instant) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- setNextAttemptTime(Instant) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- setProcessed(boolean) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- setSequence(Long) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- setVersion(int) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- SimpleTransaction - Class in com.gruelbox.transactionoutbox.spi
- SimpleTransaction(Connection, Object) - Constructor for class com.gruelbox.transactionoutbox.spi.SimpleTransaction
- StubParameterContextTransactionManager<C> - Class in com.gruelbox.transactionoutbox
-
A stub transaction manager that assumes no underlying database, and a transaction context of the specified type.
- StubParameterContextTransactionManager(Class<C>, Supplier<C>) - Constructor for class com.gruelbox.transactionoutbox.StubParameterContextTransactionManager
- StubPersistor - Class in com.gruelbox.transactionoutbox
-
Stub implementation of
Persistor
. - StubPersistor.StubPersistorBuilder - Class in com.gruelbox.transactionoutbox
- StubThreadLocalTransactionManager - Class in com.gruelbox.transactionoutbox
-
A stub transaction manager that assumes no underlying database and thread local transaction management.
- StubThreadLocalTransactionManager() - Constructor for class com.gruelbox.transactionoutbox.StubThreadLocalTransactionManager
- submit(TransactionOutboxEntry, Consumer<TransactionOutboxEntry>) - Method in class com.gruelbox.transactionoutbox.ExecutorSubmitter
- submit(TransactionOutboxEntry, Consumer<TransactionOutboxEntry>) - Method in interface com.gruelbox.transactionoutbox.Submitter
-
Submits a transaction outbox task for processing.
- submitter - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- submitter(Submitter) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- Submitter - Interface in com.gruelbox.transactionoutbox
-
Called by
TransactionOutbox
to submit work for background processing. - success(TransactionOutboxEntry) - Method in interface com.gruelbox.transactionoutbox.TransactionOutboxListener
-
Fired when a transaction outbox task is successfully completed and recorded as such in the database such that it will not be re-attempted.
T
- tableName(String) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor.DefaultPersistorBuilder
- ThreadLocalContextTransactionManager - Interface in com.gruelbox.transactionoutbox
-
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 - Interface in com.gruelbox.transactionoutbox
-
A runnable... that throws.
- ThrowingTransactionalSupplier<T,
E> - Interface in com.gruelbox.transactionoutbox - ThrowingTransactionalWork<E> - Interface in com.gruelbox.transactionoutbox
- toBuilder() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- topic(String) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- toString() - Method in class com.gruelbox.transactionoutbox.DefaultInvocationSerializer.DefaultInvocationSerializerBuilder
- toString() - Method in class com.gruelbox.transactionoutbox.DefaultPersistor.DefaultPersistorBuilder
- toString() - Method in class com.gruelbox.transactionoutbox.ExecutorSubmitter.ExecutorSubmitterBuilder
- toString() - Method in class com.gruelbox.transactionoutbox.Invocation
- toString() - Method in class com.gruelbox.transactionoutbox.Migration
- toString() - Method in class com.gruelbox.transactionoutbox.spi.AbstractFullyQualifiedNameInstantiator.AbstractFullyQualifiedNameInstantiatorBuilder
- toString() - Method in class com.gruelbox.transactionoutbox.spi.AbstractThreadLocalTransactionManager.AbstractThreadLocalTransactionManagerBuilder
- toString() - Method in class com.gruelbox.transactionoutbox.StubPersistor.StubPersistorBuilder
- toString() - Method in class com.gruelbox.transactionoutbox.TransactionalInvocation
- toString() - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- toString() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- toString() - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- Transaction - Interface in com.gruelbox.transactionoutbox
-
Access and manipulation of a currently-active transaction.
- TransactionalInvocation - Class in com.gruelbox.transactionoutbox
-
Describes a method invocation along with the transaction scope in which it should be performed.
- TransactionalInvocation(Class<?>, String, Class<?>[], Object[], Transaction) - Constructor for class com.gruelbox.transactionoutbox.TransactionalInvocation
- TransactionalSupplier<T> - Interface in com.gruelbox.transactionoutbox
- TransactionalWork - Interface in com.gruelbox.transactionoutbox
- transactionFromContext(C) - Method in class com.gruelbox.transactionoutbox.StubParameterContextTransactionManager
- transactionFromContext(T) - Method in interface com.gruelbox.transactionoutbox.ParameterContextTransactionManager
-
Given an implementation-specific transaction context, return the active
Transaction
. - transactionManager - Variable in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- transactionManager(TransactionManager) - Method in class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- TransactionManager - Interface in com.gruelbox.transactionoutbox
-
Key interface giving
TransactionOutbox
access to JDBC. - TransactionOutbox - Interface in com.gruelbox.transactionoutbox
-
An implementation of the Transactional Outbox pattern for Java.
- TransactionOutbox.ParameterizedScheduleBuilder - Interface in com.gruelbox.transactionoutbox
- TransactionOutbox.TransactionOutboxBuilder - Class in com.gruelbox.transactionoutbox
-
Builder for
TransactionOutbox
. - TransactionOutboxBuilder() - Constructor for class com.gruelbox.transactionoutbox.TransactionOutbox.TransactionOutboxBuilder
- TransactionOutboxEntry - Class in com.gruelbox.transactionoutbox
-
Internal representation of a
TransactionOutbox
task. - TransactionOutboxEntry(TransactionOutboxEntry.TransactionOutboxEntryBuilder<?, ?>) - Constructor for class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- TransactionOutboxEntry.TransactionOutboxEntryBuilder<C,
B> - Class in com.gruelbox.transactionoutbox - TransactionOutboxEntryBuilder() - Constructor for class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- TransactionOutboxListener - Interface in com.gruelbox.transactionoutbox
-
A listener for events fired by
TransactionOutbox
. - TransactionOutboxListener.Invocator - Interface in com.gruelbox.transactionoutbox
U
- unblock(Transaction, String) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- unblock(Transaction, String) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Clears the blocked flag and resets the attempt count to zero.
- unblock(Transaction, String) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- unblock(String) - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox
-
Unblocks a blocked entry and resets the attempt count so that it will be retried again.
- unblock(String, Object) - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox
-
Clears a failed entry of its failed state and resets the attempt count so that it will be retried again.
- uncheck(ThrowingRunnable) - Static method in class com.gruelbox.transactionoutbox.spi.Utils
- uncheckAndThrow(Throwable) - Static method in class com.gruelbox.transactionoutbox.spi.Utils
- UncheckedException - Exception Class in com.gruelbox.transactionoutbox
-
A wrapped
Exception
where unchecked exceptions are caught and propagated as runtime. - UncheckedException(Throwable) - Constructor for exception class com.gruelbox.transactionoutbox.UncheckedException
- uncheckedly(Callable<T>) - Static method in class com.gruelbox.transactionoutbox.spi.Utils
- uniqueRequestId(String) - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox.ParameterizedScheduleBuilder
-
Specifies a unique id for the request.
- uniqueRequestId(String) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- update(Transaction, TransactionOutboxEntry) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- update(Transaction, TransactionOutboxEntry) - Method in interface com.gruelbox.transactionoutbox.Persistor
-
Modifies an existing
TransactionOutboxEntry
. - update(Transaction, TransactionOutboxEntry) - Method in class com.gruelbox.transactionoutbox.StubPersistor
- using(Function<Class<?>, Object>) - Static method in interface com.gruelbox.transactionoutbox.Instantiator
-
Creates an
Instantiator
which records the class name as its fully qualified name (e.g. - usingReflection() - Static method in interface com.gruelbox.transactionoutbox.Instantiator
-
Creates an
Instantiator
which records the class name as its fully qualified name (e.g. - Utils - Class in com.gruelbox.transactionoutbox.spi
- Utils() - Constructor for class com.gruelbox.transactionoutbox.spi.Utils
V
- validate(Validator) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
- validate(Validator) - Method in class com.gruelbox.transactionoutbox.ExecutorSubmitter
- validate(Validator) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry
- version(int) - Method in class com.gruelbox.transactionoutbox.TransactionOutboxEntry.TransactionOutboxEntryBuilder
- version(Integer) - Method in class com.gruelbox.transactionoutbox.DefaultInvocationSerializer.DefaultInvocationSerializerBuilder
W
- with() - Method in interface com.gruelbox.transactionoutbox.TransactionOutbox
-
Starts building a schedule request with parameterization.
- withDefaultExecutor() - Static method in interface com.gruelbox.transactionoutbox.Submitter
-
Schedules background worh with a
ThreadPoolExecutor
, sized to matchForkJoinPool.commonPool()
(or one thread, whichever is the larger), with a maximum queue size of 16384 before work is discarded. - withExecutor(Executor) - Static method in interface com.gruelbox.transactionoutbox.Submitter
-
Schedules background work using a local
Executor
implementation. - withSql(String) - Method in class com.gruelbox.transactionoutbox.Migration
- wrapInvocation(TransactionOutboxListener.Invocator) - Method in interface com.gruelbox.transactionoutbox.TransactionOutboxListener
-
Implement this method to intercept and decorate all outbox invocations.
- writeLockTimeoutSeconds(int) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor.DefaultPersistorBuilder
- writeSchema(Writer) - Method in class com.gruelbox.transactionoutbox.DefaultPersistor
-
Provides access to the database schema so that you may optionally use your existing toolset to manage migrations.
All Classes and Interfaces|All Packages|Serialized Form