[jbpm-commits] JBoss JBPM SVN: r6911 - in jbpm3/branches/jbpm-3.2-soa/core/src: main/java/org/jbpm/graph/node and 3 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Mar 30 05:44:26 EDT 2011


Author: mputz
Date: 2011-03-30 05:44:26 -0400 (Wed, 30 Mar 2011)
New Revision: 6911

Added:
   jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/graph/node/sub-process-async.cfg.xml
Modified:
   jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java
   jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/graph/node/ProcessState.java
   jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml
   jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/graph/exe/SubProcessPlusConcurrencyDbTest.java
Log:
JBPM-3151: Restore synchronous signaling behavior for sub-processes

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java	2011-03-29 16:00:35 UTC (rev 6910)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java	2011-03-30 09:44:26 UTC (rev 6911)
@@ -30,6 +30,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.jbpm.JbpmConfiguration.Configs;
 import org.jbpm.JbpmContext;
 import org.jbpm.JbpmException;
 import org.jbpm.context.exe.ContextInstance;
@@ -328,7 +329,7 @@
     if (superProcessToken != null && !superProcessToken.hasEnded()) {
       // is message service available?
       MessageService messageService;
-      if (jbpmContext != null
+      if (jbpmContext != null && Configs.getBoolean("jbpm.sub.process.async")
         && (messageService = jbpmContext.getServices().getMessageService()) != null) {
         // signal super-process token asynchronously to avoid stale state exceptions
         // due to concurrent signals to the super-process

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/graph/node/ProcessState.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/graph/node/ProcessState.java	2011-03-29 16:00:35 UTC (rev 6910)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/graph/node/ProcessState.java	2011-03-30 09:44:26 UTC (rev 6911)
@@ -193,7 +193,7 @@
     // send the signal to start the subprocess
     JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext();
     MessageService messageService;
-    if (jbpmContext != null
+    if (jbpmContext != null && Configs.getBoolean("jbpm.sub.process.async")
       && (messageService = jbpmContext.getServices().getMessageService()) != null) {
       // signal sub-process token asynchronously to clearly denote transactional boundaries
       // https://jira.jboss.org/browse/JBPM-2948

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml	2011-03-29 16:00:35 UTC (rev 6910)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml	2011-03-30 09:44:26 UTC (rev 6911)
@@ -64,6 +64,9 @@
   <bean name="jbpm.sub.process.resolver" class="org.jbpm.graph.node.DbSubProcessResolver"
     singleton="true" />
 
+  <boolean name="jbpm.sub.process.async" value="false" />
+
+
   <bean name="jbpm.expression.evaluator" class="org.jbpm.jpdl.el.impl.ExpressionEvaluatorImpl"
     singleton="true" />
   <bean name="jbpm.variable.resolver" class="org.jbpm.jpdl.el.impl.JbpmVariableResolver"

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/graph/exe/SubProcessPlusConcurrencyDbTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/graph/exe/SubProcessPlusConcurrencyDbTest.java	2011-03-29 16:00:35 UTC (rev 6910)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/java/org/jbpm/graph/exe/SubProcessPlusConcurrencyDbTest.java	2011-03-30 09:44:26 UTC (rev 6911)
@@ -27,6 +27,10 @@
 import org.jbpm.graph.def.ProcessDefinition;
 
 public class SubProcessPlusConcurrencyDbTest extends AbstractDbTestCase {
+    
+  protected String getJbpmTestConfig() {
+    return "org/jbpm/graph/node/sub-process-async.cfg.xml";
+  }    
 
   protected void setUp() throws Exception {
     super.setUp();

Added: jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/graph/node/sub-process-async.cfg.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/graph/node/sub-process-async.cfg.xml	                        (rev 0)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/test/resources/org/jbpm/graph/node/sub-process-async.cfg.xml	2011-03-30 09:44:26 UTC (rev 6911)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<jbpm-configuration>
+  <boolean name="jbpm.sub.process.async" value="true" />
+</jbpm-configuration>
\ No newline at end of file



More information about the jbpm-commits mailing list