[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