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 2013/03/12 21:41:26 UTC

svn commit: r1455702 - /uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java

Author: cwiklik
Date: Tue Mar 12 20:41:25 2013
New Revision: 1455702

URL: http://svn.apache.org/r1455702
Log:
UIMA-2736 when running in async mode, dont de-serialize child CASes from the CM and just throw the message away after sending FreeCasRequest to the CM

Modified:
    uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java

Modified: uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java
URL: http://svn.apache.org/viewvc/uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java?rev=1455702&r1=1455701&r2=1455702&view=diff
==============================================================================
--- uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java (original)
+++ uima/uima-as/trunk/uimaj-as-jms/src/main/java/org/apache/uima/adapter/jms/client/BaseUIMAAsynchronousEngineCommon_impl.java Tue Mar 12 20:41:25 2013
@@ -1396,7 +1396,10 @@ public abstract class BaseUIMAAsynchrono
         deserializeAndCompleteProcessingReply(casReferenceId, message, cachedRequest, pt, doNotify);
       }
     } else if (message.propertyExists(AsynchAEMessage.InputCasReference)) {
-      handleProcessReplyFromCasMultiplier(message, casReferenceId, payload);
+    	int command = message.getIntProperty(AsynchAEMessage.Command);
+    	if (AsynchAEMessage.ServiceInfo != command) {
+    	      handleProcessReplyFromCasMultiplier(message, casReferenceId, payload);
+    	}
     } else {
       if (UIMAFramework.getLogger(CLASS_NAME).isLoggable(Level.INFO)) {
         // Most likely expired message. Already handled as timeout. Discard the message and move on
@@ -1472,7 +1475,13 @@ public abstract class BaseUIMAAsynchrono
       return;
     }
     if (inputCasCachedRequest.isSynchronousInvocation()) {
-      handleProcessReplyFromSynchronousCall(inputCasCachedRequest, message);
+    	// with synchronous invocation, child CASes are thrown away. With sync API, the UIMA-AS client
+    	// is not using callbacks. 
+    	if ( casReferenceId.equals(inputCasCachedRequest)) {
+    	      handleProcessReplyFromSynchronousCall(inputCasCachedRequest, message);
+    	} else {
+    		return;
+    	}
     }
     CAS cas = null;
     if (message instanceof TextMessage) {