Author: jcoleman(a)redhat.com
Date: 2011-03-29 11:33:01 -0400 (Tue, 29 Mar 2011)
New Revision: 6906
Modified:
jbpm3/branches/3.2.10.SP/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java
jbpm3/branches/3.2.10.SP/core/src/main/java/org/jbpm/graph/node/ProcessState.java
jbpm3/branches/3.2.10.SP/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml
jbpm3/branches/3.2.10.SP/core/src/test/java/org/jbpm/graph/exe/SubProcessPlusConcurrencyDbTest.java
Log:
Pull across c6904 from tags/jbpm-3.2.10_SOA-2990:
Restore synchronous signaling behavior for sub-processes
Modified:
jbpm3/branches/3.2.10.SP/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java
===================================================================
---
jbpm3/branches/3.2.10.SP/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java 2011-03-29
15:25:37 UTC (rev 6905)
+++
jbpm3/branches/3.2.10.SP/core/src/main/java/org/jbpm/graph/exe/ProcessInstance.java 2011-03-29
15:33:01 UTC (rev 6906)
@@ -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/3.2.10.SP/core/src/main/java/org/jbpm/graph/node/ProcessState.java
===================================================================
---
jbpm3/branches/3.2.10.SP/core/src/main/java/org/jbpm/graph/node/ProcessState.java 2011-03-29
15:25:37 UTC (rev 6905)
+++
jbpm3/branches/3.2.10.SP/core/src/main/java/org/jbpm/graph/node/ProcessState.java 2011-03-29
15:33:01 UTC (rev 6906)
@@ -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/3.2.10.SP/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml
===================================================================
---
jbpm3/branches/3.2.10.SP/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml 2011-03-29
15:25:37 UTC (rev 6905)
+++
jbpm3/branches/3.2.10.SP/core/src/main/resources/org/jbpm/default.jbpm.cfg.xml 2011-03-29
15:33:01 UTC (rev 6906)
@@ -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/3.2.10.SP/core/src/test/java/org/jbpm/graph/exe/SubProcessPlusConcurrencyDbTest.java
===================================================================
---
jbpm3/branches/3.2.10.SP/core/src/test/java/org/jbpm/graph/exe/SubProcessPlusConcurrencyDbTest.java 2011-03-29
15:25:37 UTC (rev 6905)
+++
jbpm3/branches/3.2.10.SP/core/src/test/java/org/jbpm/graph/exe/SubProcessPlusConcurrencyDbTest.java 2011-03-29
15:33:01 UTC (rev 6906)
@@ -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();