List of usage examples for org.springframework.scheduling.concurrent ThreadPoolTaskScheduler getScheduledExecutor
public ScheduledExecutorService getScheduledExecutor() throws IllegalStateException
From source file:eu.artofcoding.beetlejuice.spring.SpringContextHelper.java
/** * http://forum.springsource.org/showthread.php?125695-Orderly-shutdown-how-to-know-when-downstream-executor-is-idle * @param shutdownForced//from w w w . jav a 2 s . c o m */ public void stopSchedulers(boolean shutdownForced) { logger.info(String.format("Stopping schedulers %s", shutdownForced ? "(force)" : "")); List<ExecutorService> executorServices = new ArrayList<ExecutorService>(); Map<String, ThreadPoolTaskScheduler> schedulers = applicationContext .getBeansOfType(ThreadPoolTaskScheduler.class); for (Map.Entry<String, ThreadPoolTaskScheduler> entry : schedulers.entrySet()) { ThreadPoolTaskScheduler scheduler = entry.getValue(); logger.info(String.format("Stopping scheduler %s", scheduler.getThreadNamePrefix())); ExecutorService executorService = scheduler.getScheduledExecutor(); executorServices.add(executorService); if (shutdownForced) { executorService.shutdownNow(); } else { executorService.shutdown(); } } waitForExecutors(executorServices); logger.info("Stopped schedulers"); }
From source file:org.springframework.integration.monitor.IntegrationMBeanExporter.java
@ManagedOperation public void stopSchedulers() { if (logger.isDebugEnabled()) { logger.debug("Stopping schedulers " + (this.shutdownForced ? "(force)" : "")); }//from w ww . j a v a 2 s . c om List<ExecutorService> executorServices = new ArrayList<ExecutorService>(); Map<String, ThreadPoolTaskScheduler> schedulers = this.applicationContext .getBeansOfType(ThreadPoolTaskScheduler.class); for (Entry<String, ThreadPoolTaskScheduler> entry : schedulers.entrySet()) { ThreadPoolTaskScheduler scheduler = entry.getValue(); if (logger.isInfoEnabled()) { logger.info("Stopping scheduler " + scheduler.getThreadNamePrefix()); } ExecutorService executorService = scheduler.getScheduledExecutor(); executorServices.add(executorService); doShutdownExecutorService(executorService); } waitForExecutors(executorServices); logger.debug("Stopped schedulers"); }