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/07/30 17:01:25 UTC
svn commit: r799306 -
/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/UimaVmMessageListener.java
Author: cwiklik
Date: Thu Jul 30 15:01:25 2009
New Revision: 799306
URL: http://svn.apache.org/viewvc?rev=799306&view=rev
Log:
UIMA-1439 Modified onMessage() to return immediately if the service is stopping
Modified:
incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/UimaVmMessageListener.java
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/UimaVmMessageListener.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/UimaVmMessageListener.java?rev=799306&r1=799305&r2=799306&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/UimaVmMessageListener.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-core/src/main/java/org/apache/uima/aae/spi/transport/vm/UimaVmMessageListener.java Thu Jul 30 15:01:25 2009
@@ -73,6 +73,9 @@
int requestType = 0;
try {
latch.await();
+ if ( controller != null && controller.equals(controller.isStopped() ) ) {
+ return; // throw away the message, we are stopping
+ }
if (UimaMessageValidator.isValidMessage(aMessage, controller)) {
MessageContext msgContext = aMessage.toMessageContext(controller.getName());
if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.FINEST)) {
@@ -88,9 +91,12 @@
// want to change it once
concurrentThreads.put(Thread.currentThread().getId(), Thread.currentThread().getName());
}
+ requestType = aMessage.getIntProperty(AsynchAEMessage.Command);
+ if ( requestType == AsynchAEMessage.Stop ) {
+ return;
+ }
// Determine if this message is a request and either GetMeta, CPC, or Process
doCheckpoint = isCheckpointWorthy(aMessage);
- requestType = aMessage.getIntProperty(AsynchAEMessage.Command);
// Checkpoint
if (doCheckpoint) {
controller.beginProcess(requestType);
@@ -98,6 +104,8 @@
// Process the message.
handler.handle(msgContext);
}
+ } catch( InterruptedException e) {
+ System.out.println("VMTransport Latch Interrupted - Processor is Stopping");
} catch (Exception e) {
e.printStackTrace();
if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.WARNING)) {