You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2012/01/10 16:00:53 UTC
svn commit: r1229575 - in /uima/uima-as/trunk:
uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/
uimaj-as-core/src/main/java/org/apache/uima/aae/controller/
Author: cwiklik
Date: Tue Jan 10 15:00:53 2012
New Revision: 1229575
URL: http://svn.apache.org/viewvc?rev=1229575&view=rev
Log:
UIMA-2309 While in quiesce mode, release AE instance as soon as the Primitive is done processing
Modified:
uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsEndpointConnection_impl.java
uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AnalysisEngineInstancePoolWithThreadAffinity.java
uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java
Modified: uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsEndpointConnection_impl.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsEndpointConnection_impl.java?rev=1229575&r1=1229574&r2=1229575&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsEndpointConnection_impl.java (original)
+++ uima/uima-as/trunk/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsEndpointConnection_impl.java Tue Jan 10 15:00:53 2012
@@ -622,8 +622,8 @@ public class JmsEndpointConnection_impl
}
// If the controller has been stopped no need to send messages
if (controller.isStopped()) {
- return true;
- } else {
+ return false;
+ } else {
if (e instanceof JMSException) {
handleJmsException((JMSException) e);
// whoever called this method is interested in knowing that there was JMS Exception
Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AnalysisEngineInstancePoolWithThreadAffinity.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AnalysisEngineInstancePoolWithThreadAffinity.java?rev=1229575&r1=1229574&r2=1229575&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AnalysisEngineInstancePoolWithThreadAffinity.java (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/AnalysisEngineInstancePoolWithThreadAffinity.java Tue Jan 10 15:00:53 2012
@@ -48,8 +48,14 @@ public class AnalysisEngineInstancePoolW
public void checkin(AnalysisEngine anAnalysisEngine) throws Exception {
try {
lock.acquireUninterruptibly();
- aeInstanceMap.put(Thread.currentThread().getId(), anAnalysisEngine);
- } catch( Exception e) {
+ // Call destroy() on AE on checkin if the UIMA AS process is in quiesce mode
+ if ( destroyAEInstanceIfFree ) {
+ System.out.println("........... AnalysisEngineInstancePool.checkin() - Thread:"+Thread.currentThread().getId()+" calling destroy() on AE checkin");
+ anAnalysisEngine.destroy();
+ } else {
+ aeInstanceMap.put(Thread.currentThread().getId(), anAnalysisEngine);
+ }
+ } catch( Exception e) {
e.printStackTrace();
throw e;
} finally {
@@ -97,6 +103,7 @@ public class AnalysisEngineInstancePoolW
* @see org.apache.uima.aae.controller.AnalysisEngineInstancePool#destroy()
*/
public void destroy() throws Exception {
+ System.out.println("....... AnalysisEngineInstancePool.destroy() was called");
// set the flag so that any AE instance returned from PrimitiveController
// will be destroyed.
destroyAEInstanceIfFree = true;
Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java?rev=1229575&r1=1229574&r2=1229575&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java Tue Jan 10 15:00:53 2012
@@ -489,6 +489,8 @@ public class PrimitiveAnalysisEngineCont
ae.destroy();
}
}
+ } catch( AsynchAEException e) {
+ // No-op. AE instance not found. Most likely, the UIMA AS service is in shutdown state
} catch( Exception e) {
e.printStackTrace();
}