Class DefaultInfinispanTransactionProvider
java.lang.Object
org.keycloak.models.AbstractKeycloakTransaction
org.keycloak.models.sessions.infinispan.transaction.DefaultInfinispanTransactionProvider
- All Implemented Interfaces:
KeycloakTransaction,InfinispanTransactionProvider,Provider
public class DefaultInfinispanTransactionProvider
extends AbstractKeycloakTransaction
implements InfinispanTransactionProvider
A
KeycloakTransaction that collects NonBlockingTransaction to commit/rollback in a non-blocking
fashion.
This class is not thread-safe.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.keycloak.models.AbstractKeycloakTransaction
AbstractKeycloakTransaction.TransactionState -
Field Summary
Fields inherited from class org.keycloak.models.AbstractKeycloakTransaction
state -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()protected voidvoidDuring the prepare phase of the current transaction, try to move all database writes to the current JTA transaction.voidregisterTransaction(NonBlockingTransaction transaction) Registers a newNonBlockingTransaction.protected voidMethods inherited from class org.keycloak.models.AbstractKeycloakTransaction
begin, beginImpl, commit, getRollbackOnly, getState, isActive, rollback, setRollbackOnly
-
Constructor Details
-
DefaultInfinispanTransactionProvider
-
-
Method Details
-
registerTransaction
Description copied from interface:InfinispanTransactionProviderRegisters a newNonBlockingTransaction.- Specified by:
registerTransactionin interfaceInfinispanTransactionProvider- Parameters:
transaction- TheNonBlockingTransactiontransaction instance.
-
close
public void close() -
commitImpl
protected void commitImpl()- Specified by:
commitImplin classAbstractKeycloakTransaction
-
prepareStep
public void prepareStep()During the prepare phase of the current transaction, try to move all database writes to the current JTA transaction.If this is possible, this will prevent additional reads from the database and a separate transaction. Only if rows are modified concurrently, this might fail, which should be a rare exception.
-
rollbackImpl
protected void rollbackImpl()- Specified by:
rollbackImplin classAbstractKeycloakTransaction
-