use of org.neo4j.server.rest.transactional.TransactionHandleRegistry in project neo4j by neo4j.
the class AbstractNeoServer method createTransactionalActions.
private TransactionFacade createTransactionalActions() {
final long timeoutMillis = getTransactionTimeoutMillis();
final Clock clock = Clocks.systemClock();
transactionRegistry = new TransactionHandleRegistry(clock, timeoutMillis, logProvider);
// ensure that this is > 0
long runEvery = round(timeoutMillis / 2.0);
resolveDependency(JobScheduler.class).scheduleRecurring(serverTransactionTimeout, () -> {
long maxAge = clock.millis() - timeoutMillis;
transactionRegistry.rollbackSuspendedTransactionsIdleSince(maxAge);
}, runEvery, MILLISECONDS);
DependencyResolver dependencyResolver = database.getGraph().getDependencyResolver();
return new TransactionFacade(new TransitionalPeriodTransactionMessContainer(database.getGraph()), dependencyResolver.resolveDependency(QueryExecutionEngine.class), dependencyResolver.resolveDependency(GraphDatabaseQueryService.class), transactionRegistry, logProvider);
}
Aggregations