package com.arjuna.ats.arjuna.coordinator; import com.arjuna.ats.arjuna.common.arjPropertyManager; import java.util.concurrent.*; public class TwoPhaseCommitThreadPool { private static final int poolSize = arjPropertyManager.getCoordinatorEnvironmentBean(). getMaxTwoPhaseCommitThreads(); private static final ExecutorService executor = Executors.newFixedThreadPool(poolSize); public static Future<Integer> submitJob(Callable<Integer> job) { return executor.submit(job); } public static void submitJob(Runnable job) { executor.submit(job); } public static CompletionService<Boolean> getNewCompletionService() { return new ExecutorCompletionService<Boolean>(executor); } }