public class IgniteClientSpringTransactionManager extends AbstractSpringTransactionManager
AbstractSpringTransactionManager
implementation that uses thin client to access the cluster and
manage transactions. It requires thin client instance to be set before manager use
(see setClientInstance(IgniteClient)
).
You can provide ignite client instance to a Spring configuration XML file, like below:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <-- Provide Ignite client instance. --> <bean id="transactionManager" class="org.apache.ignite.transactions.spring.IgniteClientSpringTransactionManager"> <property name="clientInstance" ref="igniteClientBean"/> </bean> <-- Use annotation-driven transaction configuration. --> <tx:annotation-driven/> </beans>Note that the same thin client instance must be used to both initialize the transaction manager and perform transactional operations.
AbstractSpringTransactionManager.IgniteTransactionObject
Constructor and Description |
---|
IgniteClientSpringTransactionManager() |
Modifier and Type | Method and Description |
---|---|
protected TransactionProxyFactory |
createTransactionFactory()
Creates instance of
TransactionProxyFactory that will be used to start new Ignite transactions. |
protected TransactionConcurrency |
defaultTransactionConcurrency() |
protected TransactionIsolation |
defaultTransactionIsolation() |
protected long |
defaultTransactionTimeout() |
protected void |
doSetRollbackOnly(org.springframework.transaction.support.DefaultTransactionStatus status) |
IgniteClient |
getClientInstance() |
protected IgniteLogger |
log() |
void |
onApplicationEvent(org.springframework.context.event.ContextRefreshedEvent evt) |
void |
setClientInstance(IgniteClient cli)
Sets thin client instance that is used for accessing the Ignite cluster.
|
doBegin, doCleanupAfterCompletion, doCommit, doGetTransaction, doRollback, getResourceFactory, getTransactionConcurrency, isExistingTransaction, setTransactionConcurrency
commit, determineTimeout, doResume, doSuspend, getDefaultTimeout, getTransaction, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, isValidateExistingTransaction, newTransactionStatus, prepareForCommit, prepareSynchronization, prepareTransactionStatus, registerAfterCompletionWithExistingTransaction, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionSynchronization, setTransactionSynchronizationName, setValidateExistingTransaction, shouldCommitOnGlobalRollbackOnly, suspend, triggerBeforeCommit, triggerBeforeCompletion, useSavepointForNestedTransaction
public IgniteClientSpringTransactionManager()
public IgniteClient getClientInstance()
public void setClientInstance(IgniteClient cli)
public void onApplicationEvent(org.springframework.context.event.ContextRefreshedEvent evt)
onApplicationEvent
in interface org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>
onApplicationEvent
in class AbstractSpringTransactionManager
protected TransactionIsolation defaultTransactionIsolation()
defaultTransactionIsolation
in class AbstractSpringTransactionManager
protected long defaultTransactionTimeout()
defaultTransactionTimeout
in class AbstractSpringTransactionManager
protected TransactionConcurrency defaultTransactionConcurrency()
defaultTransactionConcurrency
in class AbstractSpringTransactionManager
protected TransactionProxyFactory createTransactionFactory()
TransactionProxyFactory
that will be used to start new Ignite transactions.createTransactionFactory
in class AbstractSpringTransactionManager
protected IgniteLogger log()
log
in class AbstractSpringTransactionManager
protected void doSetRollbackOnly(org.springframework.transaction.support.DefaultTransactionStatus status) throws org.springframework.transaction.TransactionException
doSetRollbackOnly
in class AbstractSpringTransactionManager
org.springframework.transaction.TransactionException
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.10.0 Release Date : March 10 2021