### Question:
ReactiveNeo4jTransactionManager extends AbstractReactiveTransactionManager { public static Mono<RxTransaction> retrieveReactiveTransaction(final Driver driver, final String targetDatabase) { return TransactionSynchronizationManager.forCurrentTransaction() .filter(TransactionSynchronizationManager::isSynchronizationActive) .flatMap(tsm -> { ReactiveNeo4jTransactionHolder existingTxHolder = (ReactiveNeo4jTransactionHolder) tsm .getResource(driver); if (existingTxHolder != null) { return Mono.just(existingTxHolder); } return Mono.defer(() -> { RxSession session = driver.rxSession(defaultSessionConfig(targetDatabase)); return Mono.from(session.beginTransaction(TransactionConfig.empty())).map(tx -> { ReactiveNeo4jTransactionHolder newConnectionHolder = new ReactiveNeo4jTransactionHolder( new Neo4jTransactionContext(targetDatabase), session, tx); newConnectionHolder.setSynchronizedWithTransaction(true); tsm.registerSynchronization( new ReactiveNeo4jSessionSynchronization(tsm, newConnectionHolder, driver)); tsm.bindResource(driver, newConnectionHolder); return newConnectionHolder; }); }); }) .map(connectionHolder -> { RxTransaction transaction = connectionHolder.getTransaction(targetDatabase); if (transaction == null) { throw new IllegalStateException( formatOngoingTxInAnotherDbErrorMessage(connectionHolder.getDatabaseName(), targetDatabase)); } return transaction; } ) .onErrorResume(NoTransactionException.class, nte -> Mono.empty()); } ReactiveNeo4jTransactionManager(Driver driver);  ReactiveNeo4jTransactionManager(Driver driver, ReactiveDatabaseSelectionProvider databaseSelectionProvider); static Mono<RxTransaction> retrieveReactiveTransaction(final Driver driver, final String targetDatabase);  }### Answer:
@Test void shouldWorkWithoutSynchronizations() { Mono<RxTransaction> transactionMono = retrieveReactiveTransaction(driver, databaseName); StepVerifier.create(transactionMono) .verifyComplete(); }