@Override
public synchronized void start(StartContext context) throws StartException {
SERVER_MANAGEMENT_LOGGER.debugf("Starting operation handler service %s", context.getController().getName());
if(executor.getOptionalValue() == null) {
final BlockingQueue<Runnable> workQueue = new LinkedBlockingQueue<Runnable>(WORK_QUEUE_SIZE);
final ThreadFactory threadFactory = new JBossThreadFactory(new ThreadGroup(getThreadGroupName()), Boolean.FALSE, null, "%G - %t", null, null, AccessController.getContext());
final ThreadPoolExecutor executorService = new ThreadPoolExecutor(POOL_CORE_SIZE, POOL_MAX_SIZE,
60L, TimeUnit.SECONDS, workQueue,
threadFactory);
executorService.allowCoreThreadTimeOut(true);
getExecutorInjector().inject(executorService);
}
}