Module spring.data.neo4j
Class ReactiveNeo4jTransactionManager
java.lang.Object
org.springframework.transaction.reactive.AbstractReactiveTransactionManager
org.springframework.data.neo4j.core.transaction.ReactiveNeo4jTransactionManager
- All Implemented Interfaces:
Serializable,Aware,ApplicationContextAware,ConfigurableTransactionManager,ReactiveTransactionManager,TransactionManager
@API(status=STABLE,
since="6.0")
public final class ReactiveNeo4jTransactionManager
extends AbstractReactiveTransactionManager
implements ApplicationContextAware
- Since:
- 6.0
- Author:
- Gerrit Meier, Michael J. Simons
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA builder forReactiveNeo4jTransactionManager.Nested classes/interfaces inherited from class org.springframework.transaction.reactive.AbstractReactiveTransactionManager
AbstractReactiveTransactionManager.SuspendedResourcesHolder -
Field Summary
Fields inherited from class org.springframework.transaction.reactive.AbstractReactiveTransactionManager
logger -
Constructor Summary
ConstructorsConstructorDescriptionReactiveNeo4jTransactionManager(org.neo4j.driver.Driver driver) This will create a transaction manager for the default database.ReactiveNeo4jTransactionManager(org.neo4j.driver.Driver driver, ReactiveDatabaseSelectionProvider databaseSelectionProvider) This will create a transaction manager targeting whatever the database selection provider determines.ReactiveNeo4jTransactionManager(org.neo4j.driver.Driver driver, ReactiveDatabaseSelectionProvider databaseSelectionProvider, Neo4jBookmarkManager bookmarkManager) This constructor can be used to configure the bookmark manager being used. -
Method Summary
Modifier and TypeMethodDescriptionprotected reactor.core.publisher.Mono<Void>doBegin(TransactionSynchronizationManager transactionSynchronizationManager, Object transaction, TransactionDefinition transactionDefinition) protected reactor.core.publisher.Mono<Void>doCleanupAfterCompletion(TransactionSynchronizationManager transactionSynchronizationManager, Object transaction) protected reactor.core.publisher.Mono<Void>doCommit(TransactionSynchronizationManager transactionSynchronizationManager, GenericReactiveTransaction genericReactiveTransaction) protected ObjectdoGetTransaction(TransactionSynchronizationManager transactionSynchronizationManager) protected reactor.core.publisher.Mono<Void>doResume(TransactionSynchronizationManager synchronizationManager, Object transaction, Object suspendedResources) protected reactor.core.publisher.Mono<Void>doRollback(TransactionSynchronizationManager transactionSynchronizationManager, GenericReactiveTransaction genericReactiveTransaction) protected reactor.core.publisher.Mono<Void>doSetRollbackOnly(TransactionSynchronizationManager synchronizationManager, GenericReactiveTransaction genericReactiveTransaction) protected reactor.core.publisher.Mono<Object>doSuspend(TransactionSynchronizationManager synchronizationManager, Object transaction) protected booleanisExistingTransaction(Object transaction) static reactor.core.publisher.Mono<org.neo4j.driver.reactivestreams.ReactiveTransaction>retrieveReactiveTransaction(org.neo4j.driver.Driver driver, DatabaseSelection targetDatabase, UserSelection asUser) voidsetApplicationContext(ApplicationContext applicationContext) with(org.neo4j.driver.Driver driver) Start building a new transaction manager for the given driver instance.Methods inherited from class org.springframework.transaction.reactive.AbstractReactiveTransactionManager
commit, getReactiveTransaction, getTransactionExecutionListeners, prepareForCommit, registerAfterCompletionWithExistingTransaction, rollback, setTransactionExecutionListenersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.transaction.ConfigurableTransactionManager
addListener
-
Constructor Details
-
ReactiveNeo4jTransactionManager
public ReactiveNeo4jTransactionManager(org.neo4j.driver.Driver driver) This will create a transaction manager for the default database.- Parameters:
driver- A driver instance
-
ReactiveNeo4jTransactionManager
public ReactiveNeo4jTransactionManager(org.neo4j.driver.Driver driver, ReactiveDatabaseSelectionProvider databaseSelectionProvider) This will create a transaction manager targeting whatever the database selection provider determines.- Parameters:
driver- A driver instancedatabaseSelectionProvider- The database selection provider to determine the database in which the transactions should happen
-
ReactiveNeo4jTransactionManager
public ReactiveNeo4jTransactionManager(org.neo4j.driver.Driver driver, ReactiveDatabaseSelectionProvider databaseSelectionProvider, Neo4jBookmarkManager bookmarkManager) This constructor can be used to configure the bookmark manager being used. It is useful when you need to seed the bookmark manager or if you want to capture new bookmarks.- Parameters:
driver- A driver instancedatabaseSelectionProvider- The database selection provider to determine the database in which the transactions should happenbookmarkManager- A bookmark manager
-
-
Method Details
-
with
@API(status=STABLE, since="6.2") public static ReactiveNeo4jTransactionManager.Builder with(org.neo4j.driver.Driver driver) Start building a new transaction manager for the given driver instance.- Parameters:
driver- A fixed driver instance.- Returns:
- A builder for a transaction manager
-
setApplicationContext
- Specified by:
setApplicationContextin interfaceApplicationContextAware- Throws:
BeansException
-
retrieveReactiveTransaction
public static reactor.core.publisher.Mono<org.neo4j.driver.reactivestreams.ReactiveTransaction> retrieveReactiveTransaction(org.neo4j.driver.Driver driver, DatabaseSelection targetDatabase, UserSelection asUser) - Parameters:
driver- The driver that has been used as a synchronization object.targetDatabase- The target database- Returns:
- An optional managed transaction or null if the method hasn't been called inside an ongoing Spring transaction
-
doGetTransaction
protected Object doGetTransaction(TransactionSynchronizationManager transactionSynchronizationManager) throws TransactionException - Specified by:
doGetTransactionin classAbstractReactiveTransactionManager- Throws:
TransactionException
-
isExistingTransaction
- Overrides:
isExistingTransactionin classAbstractReactiveTransactionManager- Throws:
TransactionException
-
doBegin
protected reactor.core.publisher.Mono<Void> doBegin(TransactionSynchronizationManager transactionSynchronizationManager, Object transaction, TransactionDefinition transactionDefinition) throws TransactionException - Specified by:
doBeginin classAbstractReactiveTransactionManager- Throws:
TransactionException
-
doCleanupAfterCompletion
protected reactor.core.publisher.Mono<Void> doCleanupAfterCompletion(TransactionSynchronizationManager transactionSynchronizationManager, Object transaction) - Overrides:
doCleanupAfterCompletionin classAbstractReactiveTransactionManager
-
doCommit
protected reactor.core.publisher.Mono<Void> doCommit(TransactionSynchronizationManager transactionSynchronizationManager, GenericReactiveTransaction genericReactiveTransaction) throws TransactionException - Specified by:
doCommitin classAbstractReactiveTransactionManager- Throws:
TransactionException
-
doRollback
protected reactor.core.publisher.Mono<Void> doRollback(TransactionSynchronizationManager transactionSynchronizationManager, GenericReactiveTransaction genericReactiveTransaction) throws TransactionException - Specified by:
doRollbackin classAbstractReactiveTransactionManager- Throws:
TransactionException
-
doSuspend
protected reactor.core.publisher.Mono<Object> doSuspend(TransactionSynchronizationManager synchronizationManager, Object transaction) throws TransactionException - Overrides:
doSuspendin classAbstractReactiveTransactionManager- Throws:
TransactionException
-
doResume
protected reactor.core.publisher.Mono<Void> doResume(TransactionSynchronizationManager synchronizationManager, Object transaction, Object suspendedResources) throws TransactionException - Overrides:
doResumein classAbstractReactiveTransactionManager- Throws:
TransactionException
-
doSetRollbackOnly
protected reactor.core.publisher.Mono<Void> doSetRollbackOnly(TransactionSynchronizationManager synchronizationManager, GenericReactiveTransaction genericReactiveTransaction) throws TransactionException - Overrides:
doSetRollbackOnlyin classAbstractReactiveTransactionManager- Throws:
TransactionException
-