use of org.neo4j.server.rest.transactional.TransactionFacade in project neo4j by neo4j.
the class AbstractNeoServer method createDefaultInjectables.
protected Collection<InjectableProvider<?>> createDefaultInjectables() {
Collection<InjectableProvider<?>> singletons = new ArrayList<>();
Database database = getDatabase();
singletons.add(new DatabaseProvider(database));
singletons.add(new DatabaseActions.Provider(databaseActions));
singletons.add(new GraphDatabaseServiceProvider(database));
singletons.add(new NeoServerProvider(this));
singletons.add(providerForSingleton(new ConfigAdapter(getConfig()), Configuration.class));
singletons.add(providerForSingleton(getConfig(), Config.class));
singletons.add(new WebServerProvider(getWebServer()));
PluginInvocatorProvider pluginInvocatorProvider = new PluginInvocatorProvider(this);
singletons.add(pluginInvocatorProvider);
RepresentationFormatRepository repository = new RepresentationFormatRepository(this);
singletons.add(new InputFormatProvider(repository));
singletons.add(new OutputFormatProvider(repository));
singletons.add(new CypherExecutorProvider(cypherExecutor));
singletons.add(providerForSingleton(transactionFacade, TransactionFacade.class));
singletons.add(providerFromSupplier(authManagerSupplier, AuthManager.class));
singletons.add(providerFromSupplier(userManagerSupplier, UserManagerSupplier.class));
singletons.add(new TransactionFilter(database));
singletons.add(new LoggingProvider(logProvider));
singletons.add(providerForSingleton(logProvider.getLog(NeoServer.class), Log.class));
singletons.add(providerForSingleton(resolveDependency(UsageData.class), UsageData.class));
return singletons;
}
use of org.neo4j.server.rest.transactional.TransactionFacade 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