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 2009/01/27 21:11:22 UTC

svn commit: r738215 - in /incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae: UimaAsThreadFactory.java controller/PrimitiveAnalysisEngineController_impl.java

Author: cwiklik
Date: Tue Jan 27 20:11:22 2009
New Revision: 738215

URL: http://svn.apache.org/viewvc?rev=738215&view=rev
Log:
UIMA-1279 Fixes hangs in client when handling errors during a deployment of synch aggregate that uses jms service descriptor

Modified:
    incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java
    incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java

Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java?rev=738215&r1=738214&r2=738215&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java Tue Jan 27 20:11:22 2009
@@ -68,6 +68,7 @@
                 
               } catch( Exception e) {
                 e.printStackTrace();
+                return;
             }
             //  Call given Worker (Runnable) run() method and block. This call block until the 
             //  TaskExecutor is terminated. 

Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java?rev=738215&r1=738214&r2=738215&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/controller/PrimitiveAnalysisEngineController_impl.java Tue Jan 27 20:11:22 2009
@@ -124,35 +124,35 @@
 	  // Parse the descriptor in the calling thread.
 	  try {
 	    rSpecifier = UimaClassFactory.produceResourceSpecifier(super.aeDescriptor);
+	    synchronized( mux ) {
+	      AnalysisEngine ae =  UIMAFramework.produceAnalysisEngine(rSpecifier, paramsMap);
+	      System.out.println(">>>>> Controller:"+getComponentName()+" Completed Initialization of New AE Instance In Thread::"+Thread.currentThread().getId()+" AE Instance Hashcode:"+ae.hashCode());
+	      if ( aeInstancePool == null ) {
+	        aeInstancePool = new AnalysisEngineInstancePoolWithThreadAffinity(analysisEnginePoolSize);
+	      }
+	      if ( analysisEngineMetadata == null ) {
+	        analysisEngineMetadata = ae.getAnalysisEngineMetaData();
+	      }
+        aeInstancePool.checkin(ae);
+	      if ( aeInstancePool.size() == analysisEnginePoolSize ) {
+	        try {
+	          System.out.println("Controller:"+getComponentName()+ " All AE Instances Have Been Instantiated. Completing Initialization");
+	          postInitialize();
+	        } catch ( Exception e) {
+	          e.printStackTrace();
+	          throw new ResourceInitializationException(e);
+	        }
+	      }
+	    }
+
 	  } catch ( Exception e) {
 	    e.printStackTrace();
+      if ( isTopLevelComponent() ) {
+        super.notifyListenersWithInitializationStatus(e);
+      }
 	    throw new ResourceInitializationException(e);
 	  }
 
-    synchronized( mux ) {
-      AnalysisEngine ae =  UIMAFramework.produceAnalysisEngine(rSpecifier, paramsMap);
-      System.out.println(">>>>> Controller:"+getComponentName()+" Completed Initialization of New AE Instance In Thread::"+Thread.currentThread().getId()+" AE Instance Hashcode:"+ae.hashCode());
-      if ( aeInstancePool == null ) {
-        aeInstancePool = new AnalysisEngineInstancePoolWithThreadAffinity(analysisEnginePoolSize);
-      }
-      if ( analysisEngineMetadata == null ) {
-        analysisEngineMetadata = ae.getAnalysisEngineMetaData();
-      }
-      try {
-        aeInstancePool.checkin(ae);
-      } catch( Exception e) {
-        throw new ResourceInitializationException(e);
-      }
-      if ( aeInstancePool.size() == analysisEnginePoolSize ) {
-        try {
-          System.out.println("Controller:"+getComponentName()+ " All AE Instances Have Been Instantiated. Completing Initialization");
-          postInitialize();
-        } catch ( Exception e) {
-          e.printStackTrace();
-          throw new ResourceInitializationException(e);
-        }
-      }
-    }
 	}
   public boolean threadAssignedToAE() {
     if ( aeInstancePool == null ) {