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/03/05 19:49:21 UTC
svn commit: r1297163 -
/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java
Author: cwiklik
Date: Mon Mar 5 18:49:21 2012
New Revision: 1297163
URL: http://svn.apache.org/viewvc?rev=1297163&view=rev
Log:
UIMA-2377 Exit the jvm on java Error
Modified:
uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java
Modified: uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java?rev=1297163&r1=1297162&r2=1297163&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java (original)
+++ uima/uima-as/trunk/uimaj-as-core/src/main/java/org/apache/uima/aae/UimaAsThreadFactory.java Mon Mar 5 18:49:21 2012
@@ -117,18 +117,17 @@ public class UimaAsThreadFactory impleme
// TaskExecutor is terminated.
r.run();
} catch (Throwable e) {
- UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, getClass().getName(),
+ // try to log. If this is OOM, logging may not succeed and we
+ // get another OOM.
+ try {
+ UIMAFramework.getLogger(CLASS_NAME).logrb(Level.WARNING, getClass().getName(),
"UimaAsThreadFactory", UIMAEE_Constants.JMS_LOG_RESOURCE_BUNDLE,
"UIMAEE_exception__WARNING", e);
- if ( controller != null ) {
- Exception ex;
- if ( e instanceof Exception ) {
- ex = (Exception)e;
- } else {
- ex = new Exception(e);
- }
- controller.notifyListenersWithInitializationStatus(ex);
- }
+ System.out.println("Exiting UIMA AS Process Due to Uncaught Exception");
+ } catch( Throwable t ) {
+ // Failed during logging. We are tight on memory. Just exit
+ }
+ System.exit(-1);
return;
} finally {
if ( controller instanceof PrimitiveAnalysisEngineController_impl ) {
@@ -140,7 +139,11 @@ public class UimaAsThreadFactory impleme
"UimaAsThreadFactory.run()", UIMAEE_Constants.JMS_LOG_RESOURCE_BUNDLE,
"UIMAEE_ae_instance_destroy_called__INFO", new Object[] {controller.getComponentName(),Thread.currentThread().getId()});
if ( latchToCountNumberOfTerminatedThreads != null ) {
- latchToCountNumberOfTerminatedThreads.countDown();
+ synchronized( latchToCountNumberOfTerminatedThreads ) {
+ latchToCountNumberOfTerminatedThreads.countDown();
+ System.out.println(".................... Thread:"+Thread.currentThread().getId()+" CountDownLatch Value:"+latchToCountNumberOfTerminatedThreads.getCount());
+ System.out.flush();
+ }
}
}
}