@Provides @Singleton public static TransactionManager createTransactionManager( TransactionManagerConfig config, CatalogManager catalogManager, @ForTransactionManager ScheduledExecutorService idleCheckExecutor, @ForTransactionManager ExecutorService finishingExecutor) { return InMemoryTransactionManager.create(config, idleCheckExecutor, catalogManager, finishingExecutor); }
@Provides @Singleton @ForTransactionManager public static ExecutorService createTransactionFinishingExecutor() { return newCachedThreadPool(daemonThreadsNamed("transaction-finishing-%s")); }
@Provides @Singleton @ForTransactionManager public static ScheduledExecutorService createTransactionIdleCheckExecutor() { return newSingleThreadScheduledExecutor(daemonThreadsNamed("transaction-idle-check")); }
@Inject public ExecutorCleanup( @ForStatementResource ExecutorService statementResponseExecutor, @ForStatementResource ScheduledExecutorService statementTimeoutExecutor, @ForQueryExecution ExecutorService queryExecutionExecutor, @ForScheduler ScheduledExecutorService schedulerExecutor, @ForTransactionManager ExecutorService transactionFinishingExecutor, @ForTransactionManager ScheduledExecutorService transactionIdleExecutor) { executors = ImmutableList.<ExecutorService>builder() .add(statementResponseExecutor) .add(statementTimeoutExecutor) .add(queryExecutionExecutor) .add(schedulerExecutor) .add(transactionFinishingExecutor) .add(transactionIdleExecutor) .build(); }
@Provides @Singleton public static TransactionManager createTransactionManager( TransactionManagerConfig config, @ForTransactionManager ScheduledExecutorService idleCheckExecutor, @ForTransactionManager ExecutorService finishingExecutor) { return TransactionManager.create(config, idleCheckExecutor, finishingExecutor); }
@Provides @Singleton @ForTransactionManager public static ScheduledExecutorService createTransactionIdleCheckExecutor() { return newSingleThreadScheduledExecutor(daemonThreadsNamed("transaction-idle-check")); }
@Provides @Singleton @ForTransactionManager public static ExecutorService createTransactionFinishingExecutor() { return newCachedThreadPool(daemonThreadsNamed("transaction-finishing-%s")); }