[jboss-svn-commits] JBL Code SVN: r14223 - labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actionhandlers.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Aug 14 15:28:54 EDT 2007


Author: kurt.stam at jboss.com
Date: 2007-08-14 15:28:54 -0400 (Tue, 14 Aug 2007)
New Revision: 14223

Modified:
   labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actionhandlers/EsbActionHandler.java
Log:
JBESB-695, adding signaling of the token in synchronous mode.

Modified: labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actionhandlers/EsbActionHandler.java
===================================================================
--- labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actionhandlers/EsbActionHandler.java	2007-08-14 19:27:40 UTC (rev 14222)
+++ labs/jbossesb/trunk/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/actionhandlers/EsbActionHandler.java	2007-08-14 19:28:54 UTC (rev 14223)
@@ -34,6 +34,7 @@
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.addressing.Call;
 import org.jboss.soa.esb.client.ServiceInvoker;
+import org.jboss.soa.esb.listeners.message.MessageDeliverException;
 import org.jboss.soa.esb.message.Body;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.format.MessageFactory;
@@ -98,34 +99,37 @@
 
     public void execute (ExecutionContext executionContext) throws Exception
     {
-	_token = executionContext.getToken();
+    	_token = executionContext.getToken();
+    
+    	Message request = getMessageTemplate();
+    	varsToRequest(request);
+    	if (null == millisToWaitForResponse || millisToWaitForResponse < 1)
+    	{
+    	    ServiceInvoker invoker = new ServiceInvoker(esbCategoryName,
+    		    esbServiceName);
+    	    invoker.deliverAsync(request);
+    	    return;
+    	}
+    
+    	Message response = null;
+    	if ("MOCK_CATEGORY".equals(esbCategoryName)
+    		&& "MOCK_SERVICE".equals(esbServiceName)) {
+    	    response = request;
+    	} else {
+    	    ServiceInvoker invoker = new ServiceInvoker(esbCategoryName,
+    		    esbServiceName);
+    	    response = invoker.deliverSync(request, millisToWaitForResponse);
+    	}
+    	if (null != response) {
+    	    varsFromResponse(response);
+            if (_token.getNode()!=null) {
+                _token.signal(); // this is required since the response is sync 
+            }
+        } else {
+            throw new MessageDeliverException("The response from jBPM should not be null");
+        }
+    }
 
-	Message request = getMessageTemplate();
-	varsToRequest(request);
-	if (null == millisToWaitForResponse || millisToWaitForResponse < 1)
-	{
-	    ServiceInvoker invoker = new ServiceInvoker(esbCategoryName,
-		    esbServiceName);
-	    invoker.deliverAsync(request);
-	    return;
-	}
-
-	Message response = null;
-	if ("MOCK_CATEGORY".equals(esbCategoryName)
-		&& "MOCK_SERVICE".equals(esbServiceName))
-	{
-	    response = request;
-	}
-	else
-	{
-	    ServiceInvoker invoker = new ServiceInvoker(esbCategoryName,
-		    esbServiceName);
-	    response = invoker.deliverSync(request, millisToWaitForResponse);
-	}
-	if (null != response)
-	    varsFromResponse(response);
-    } // ________________________________
-
     protected void varsToRequest (Message request) throws Exception
     {
 	ContextInstance ctxInstance = _token.getProcessInstance()




More information about the jboss-svn-commits mailing list