Author: cwiklik Date: Mon Jun 7 17:20:13 2010 New Revision: 952340 URL: http://svn.apache.org/viewvc?rev=952340&view=rev Log: UIMA-1800 Reverted to code that is not using BlockingExecutor
Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/VmTransport.java Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/VmTransport.java URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/VmTransport.java?rev=952340&r1=952339&r2=952340&view=diff ============================================================================== --- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/VmTransport.java (original) +++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/VmTransport.java Mon Jun 7 17:20:13 2010 @@ -36,7 +36,6 @@ import org.apache.uima.aae.UIDGenerator; import org.apache.uima.aae.UIMAEE_Constants; import org.apache.uima.aae.UimaAsContext; import org.apache.uima.aae.UimaAsThreadFactory; -import org.apache.uima.aae.UimaBlockingExecutor; import org.apache.uima.aae.controller.AggregateAnalysisEngineController; import org.apache.uima.aae.controller.AnalysisEngineController; import org.apache.uima.aae.controller.BaseAnalysisEngineController; @@ -67,8 +66,6 @@ public class VmTransport implements Uima private ThreadPoolExecutor executor = null; - private UimaBlockingExecutor blockingExecutor; - private ThreadGroup threadGroup = null; // Create a queue for work items. The queue has a JMX wrapper to expose the @@ -123,7 +120,7 @@ public class VmTransport implements Uima } public void startIt() throws UimaSpiException { - dispatcher = new UimaVmMessageDispatcher(blockingExecutor, null, (String) context.get("EndpointName")); + dispatcher = new UimaVmMessageDispatcher(executor, null, (String) context.get("EndpointName")); } public synchronized void stopIt() throws UimaSpiException { @@ -133,9 +130,7 @@ public class VmTransport implements Uima stopping.set(true); executor.purge(); executor.shutdownNow(); - workQueue.clear(); - blockingExecutor.stop(); Set<Entry<String, UimaVmMessageDispatcher>> set = dispatchers.entrySet(); for (Entry<String, UimaVmMessageDispatcher> entry : set) { UimaVmMessageDispatcher dispatcher = entry.getValue(); @@ -177,13 +172,10 @@ public class VmTransport implements Uima } } - protected UimaBlockingExecutor getExecutorInstance() { + protected ThreadPoolExecutor getExecutorInstance() { if (executor == null) { int concurrentConsumerCount = context.getConcurrentConsumerCount(); - - // Create an unbounded queue. - workQueue = new UimaVmQueue(); - + workQueue = new UimaVmQueue(); // Create a ThreadPoolExecutor with as many threads as needed. The pool has // a fixed number of threads that never expire and are never passivated. executor = new ThreadPoolExecutor(concurrentConsumerCount, concurrentConsumerCount, @@ -193,16 +185,10 @@ public class VmTransport implements Uima (PrimitiveAnalysisEngineController) controller); executor.setThreadFactory(tf); } - executor.prestartAllCoreThreads(); - // instantiate a blocking executor with a maximum number of concurrent threads. - // Internally the executor uses a Semaphore bounded by a max number of permits to - // throttle requests. If number of requests exceeds number of available permits, - // the submitting thread hangs until a permit becomes available. - blockingExecutor = new UimaBlockingExecutor(executor, concurrentConsumerCount); controller.changeState(ServiceState.RUNNING); } - return blockingExecutor; + return executor; } public void registerWithJMX(AnalysisEngineController aController, String queueKind ) {