Ignore:
Timestamp:
08/28/10 21:55:08 (21 months ago)
Author:
kasper
Message:

Ticket #382: Added CLI for executing jobs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • AnalyzerBeans/trunk/src/main/java/org/eobjects/analyzer/job/concurrent/MultiThreadedTaskRunner.java

    r949 r982  
    88import org.slf4j.LoggerFactory; 
    99 
    10 public class MultiThreadedTaskRunner implements TaskRunner { 
     10public final class MultiThreadedTaskRunner implements TaskRunner { 
    1111 
    1212        private final Logger logger = LoggerFactory.getLogger(getClass()); 
    13          
    14         private ExecutorService threadPool; 
     13 
     14        private ExecutorService executorService; 
    1515 
    1616        public MultiThreadedTaskRunner() { 
    17                 threadPool = Executors.newCachedThreadPool(); 
     17                executorService = Executors.newCachedThreadPool(); 
    1818        } 
    19          
     19 
    2020        public MultiThreadedTaskRunner(int numThreads) { 
    21                 threadPool = Executors.newFixedThreadPool(numThreads); 
     21                executorService = Executors.newFixedThreadPool(numThreads); 
     22        } 
     23 
     24        @Override 
     25        public void run(Task task) { 
     26                logger.debug("run({})", task); 
     27                executorService.submit(new TaskRunnable(task)); 
     28        } 
     29 
     30        @Override 
     31        public void shutdown() { 
     32                logger.info("shutdown() called, shutting down executor service"); 
     33                executorService.shutdown(); 
    2234        } 
    2335         
    2436        @Override 
    25         public void run(Task task) { 
    26                 logger.debug("run({})", task); 
    27                 threadPool.submit(new TaskRunnable(task)); 
     37        protected void finalize() throws Throwable { 
     38                shutdown(); 
    2839        } 
    2940} 
Note: See TracChangeset for help on using the changeset viewer.