@API(status=STABLE, since="6.0") public final class Neo4jTransactionManager extends AbstractPlatformTransactionManager implements ApplicationContextAware
PlatformTransactionManager
for native Neo4j transactions. This
transaction manager will synchronize a pair of a native Neo4j session/transaction with the transaction.AbstractPlatformTransactionManager.SuspendedResourcesHolder
logger, SYNCHRONIZATION_ALWAYS, SYNCHRONIZATION_NEVER, SYNCHRONIZATION_ON_ACTUAL_TRANSACTION
Constructor and Description |
---|
Neo4jTransactionManager(org.neo4j.driver.Driver driver)
This will create a transaction manager for the default database.
|
Neo4jTransactionManager(org.neo4j.driver.Driver driver,
DatabaseSelectionProvider databaseSelectionProvider)
This will create a transaction manager targeting whatever the database selection provider determines.
|
Neo4jTransactionManager(org.neo4j.driver.Driver driver,
DatabaseSelectionProvider databaseSelectionProvider,
Neo4jBookmarkManager bookmarkManager)
This constructor can be used to configure the bookmark manager being used.
|
Modifier and Type | Method and Description |
---|---|
protected void |
doBegin(Object transaction,
TransactionDefinition definition) |
protected void |
doCleanupAfterCompletion(Object transaction) |
protected void |
doCommit(DefaultTransactionStatus status) |
protected Object |
doGetTransaction() |
protected void |
doResume(Object transaction,
Object suspendedResources) |
protected void |
doRollback(DefaultTransactionStatus status) |
protected void |
doSetRollbackOnly(DefaultTransactionStatus status) |
protected Object |
doSuspend(Object transaction) |
protected boolean |
isExistingTransaction(Object transaction) |
static org.neo4j.driver.Transaction |
retrieveTransaction(org.neo4j.driver.Driver driver,
String targetDatabase)
This methods provides a native Neo4j transaction to be used from within a
Neo4jClient . |
void |
setApplicationContext(ApplicationContext applicationContext) |
commit, determineTimeout, 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 Neo4jTransactionManager(org.neo4j.driver.Driver driver)
driver
- A driver instancepublic Neo4jTransactionManager(org.neo4j.driver.Driver driver, DatabaseSelectionProvider databaseSelectionProvider)
driver
- A driver instancedatabaseSelectionProvider
- The database selection provider to determine the database in which the transactions should happenpublic Neo4jTransactionManager(org.neo4j.driver.Driver driver, DatabaseSelectionProvider databaseSelectionProvider, Neo4jBookmarkManager bookmarkManager)
driver
- A driver instancedatabaseSelectionProvider
- The database selection provider to determine the database in which the transactions should happenbookmarkManager
- A bookmark managerpublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException
setApplicationContext
in interface ApplicationContextAware
BeansException
@Nullable public static org.neo4j.driver.Transaction retrieveTransaction(org.neo4j.driver.Driver driver, @Nullable String targetDatabase)
Neo4jClient
. In most cases this
the native transaction will be controlled from the Neo4j specific
PlatformTransactionManager
. However, SDN provides support for other
transaction managers as well. This methods registers a session synchronization in such cases on the foreign
transaction manager.driver
- The driver that has been used as a synchronization object.targetDatabase
- The target databaseprotected Object doGetTransaction() throws TransactionException
doGetTransaction
in class AbstractPlatformTransactionManager
TransactionException
protected boolean isExistingTransaction(Object transaction) throws TransactionException
isExistingTransaction
in class AbstractPlatformTransactionManager
TransactionException
protected void doBegin(Object transaction, TransactionDefinition definition) throws TransactionException
doBegin
in class AbstractPlatformTransactionManager
TransactionException
protected Object doSuspend(Object transaction) throws TransactionException
doSuspend
in class AbstractPlatformTransactionManager
TransactionException
protected void doResume(@Nullable Object transaction, Object suspendedResources)
doResume
in class AbstractPlatformTransactionManager
protected void doCommit(DefaultTransactionStatus status) throws TransactionException
doCommit
in class AbstractPlatformTransactionManager
TransactionException
protected void doRollback(DefaultTransactionStatus status) throws TransactionException
doRollback
in class AbstractPlatformTransactionManager
TransactionException
protected void doSetRollbackOnly(DefaultTransactionStatus status) throws TransactionException
doSetRollbackOnly
in class AbstractPlatformTransactionManager
TransactionException
protected void doCleanupAfterCompletion(Object transaction)
doCleanupAfterCompletion
in class AbstractPlatformTransactionManager
Copyright © 2019–2021 Neo4j, Neo4j Sweden AB. All rights reserved.