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 org.apache.ignite.internal.transactions.proxy.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, setTransactionConcurrencycommit, 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, useSavepointForNestedTransactionpublic 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 AbstractSpringTransactionManagerprotected TransactionIsolation defaultTransactionIsolation()
defaultTransactionIsolation in class AbstractSpringTransactionManagerprotected long defaultTransactionTimeout()
defaultTransactionTimeout in class AbstractSpringTransactionManagerprotected TransactionConcurrency defaultTransactionConcurrency()
defaultTransactionConcurrency in class AbstractSpringTransactionManagerprotected org.apache.ignite.internal.transactions.proxy.TransactionProxyFactory createTransactionFactory()
TransactionProxyFactory that will be used to start new Ignite transactions.createTransactionFactory in class AbstractSpringTransactionManagerprotected IgniteLogger log()
log in class AbstractSpringTransactionManagerprotected void doSetRollbackOnly(org.springframework.transaction.support.DefaultTransactionStatus status)
throws org.springframework.transaction.TransactionException
doSetRollbackOnly in class AbstractSpringTransactionManagerorg.springframework.transaction.TransactionException
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.10.0 Release Date : March 10 2021