[jbpm-commits] JBoss JBPM SVN: r4368 - in jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test: resources/org/jbpm/jbpm2094 and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Mar 31 18:24:03 EDT 2009
Author: alex.guizar at jboss.com
Date: 2009-03-31 18:24:03 -0400 (Tue, 31 Mar 2009)
New Revision: 4368
Modified:
jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/java/org/jbpm/jbpm2094/EsbActionHandler.java
jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/java/org/jbpm/jbpm2094/JBPM2094Test.java
jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/resources/org/jbpm/jbpm2094/processdefinition.xml
Log:
[JBPM-2094] reproduce deadlock in oracle
Modified: jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/java/org/jbpm/jbpm2094/EsbActionHandler.java
===================================================================
--- jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/java/org/jbpm/jbpm2094/EsbActionHandler.java 2009-03-31 14:52:44 UTC (rev 4367)
+++ jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/java/org/jbpm/jbpm2094/EsbActionHandler.java 2009-03-31 22:24:03 UTC (rev 4368)
@@ -21,15 +21,14 @@
*/
package org.jbpm.jbpm2094;
-import java.util.Date;
-import java.util.List;
+import java.util.Random;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.dom4j.Element;
import org.jbpm.graph.def.ActionHandler;
import org.jbpm.graph.exe.ExecutionContext;
-import org.jbpm.job.ExecuteActionJob;
-import org.jbpm.job.executor.JobExecutorThread;
+import org.jbpm.util.CollectionUtil;
/**
* @author Alejandro Guizar
@@ -38,23 +37,28 @@
private String esbCategoryName;
private String esbServiceName;
- private List<String> bpmToEsbVars;
- private List<String> esbToBpmVars;
+ private Element bpmToEsbVars;
+ private Element esbToBpmVars;
private static final long serialVersionUID = 1L;
private static final Log log = LogFactory.getLog(EsbActionHandler.class);
public void execute(ExecutionContext executionContext) throws Exception {
- if (Thread.currentThread() instanceof JobExecutorThread) {
- log.debug("invoking " + esbCategoryName + "::" + esbServiceName);
- executionContext.leaveNode();
+ log.debug("simulating invocation of " + esbCategoryName + "::" + esbServiceName);
+ for (Element bpmToEsbVar : CollectionUtil.checkList(bpmToEsbVars.elements(), Element.class)) {
+ String var = bpmToEsbVar.attributeValue("bpm");
+ Object value = executionContext.getVariable(var);
+ log.debug("read " + value + " from variable " + var);
}
- else {
- ExecuteActionJob job = new ExecuteActionJob(executionContext.getToken());
- job.setAction(executionContext.getAction());
- job.setDueDate(new Date());
- executionContext.getJbpmContext().getServices().getMessageService().send(job);
+ Random random = new Random();
+ for (Element esbToBpmVar : CollectionUtil.checkList(esbToBpmVars.elements(), Element.class)) {
+ String var = esbToBpmVar.attributeValue("bpm");
+ byte[] value = new byte[random.nextInt(2048)];
+ random.nextBytes(value);
+ executionContext.setVariable(var, value);
+ log.debug("wrote " + value.length + " bytes to variable " + var);
}
+ executionContext.leaveNode();
}
}
Modified: jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/java/org/jbpm/jbpm2094/JBPM2094Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/java/org/jbpm/jbpm2094/JBPM2094Test.java 2009-03-31 14:52:44 UTC (rev 4367)
+++ jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/java/org/jbpm/jbpm2094/JBPM2094Test.java 2009-03-31 22:24:03 UTC (rev 4368)
@@ -34,7 +34,7 @@
public class JBPM2094Test extends AbstractDbTestCase {
private static final int TIMEOUT = 60 * 1000;
- private static final int INSTANCE_COUNT = 10;
+ private static final int INSTANCE_COUNT = 5;
@Override
protected void setUp() throws Exception {
@@ -61,6 +61,7 @@
long[] processInstanceIds = new long[INSTANCE_COUNT];
for (int i = 0; i < INSTANCE_COUNT; i++) {
ProcessInstance processInstance = new ProcessInstance(processDefinition);
+ processInstance.getContextInstance().setVariable("theBody", "conkersbadfurday".getBytes());
processInstance.signal();
jbpmContext.save(processInstance);
processInstanceIds[i] = processInstance.getId();
Modified: jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/resources/org/jbpm/jbpm2094/processdefinition.xml
===================================================================
--- jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/resources/org/jbpm/jbpm2094/processdefinition.xml 2009-03-31 14:52:44 UTC (rev 4367)
+++ jbpm3/branches/jbpm-3.2.5.SP/modules/core/src/test/resources/org/jbpm/jbpm2094/processdefinition.xml 2009-03-31 22:24:03 UTC (rev 4368)
@@ -6,7 +6,7 @@
<transition name="" to="Receive Order"/>
</start-state>
- <node name="Receive Order">
+ <node async="true" name="Receive Order">
<action name="esbAction" class="org.jbpm.jbpm2094.EsbActionHandler">
<esbCategoryName>BPM_Orchestration2_Service1</esbCategoryName>
<esbServiceName>Service1</esbServiceName>
@@ -20,7 +20,7 @@
<transition to="Validate Order"/>
</node>
- <node name="Validate Order">
+ <node async="true" name="Validate Order">
<action name="esbAction" class="org.jbpm.jbpm2094.EsbActionHandler">
<esbCategoryName>BPM_Orchestration2_Service2</esbCategoryName>
<esbServiceName>Service2</esbServiceName>
@@ -40,7 +40,7 @@
<transition name="to Atlanta WHSE" to="Atlanta WHSE"/>
</fork>
- <node name="Los Angeles WHSE">
+ <node async="true" name="Los Angeles WHSE">
<action name="esbAction" class="org.jbpm.jbpm2094.EsbActionHandler">
<esbCategoryName>BPM_Orchestration2_Service5</esbCategoryName>
<esbServiceName>Service5</esbServiceName>
@@ -54,7 +54,7 @@
<transition name="" to="join1"/>
</node>
- <node name="Dallas WHSE">
+ <node async="true" name="Dallas WHSE">
<action name="esbAction" class="org.jbpm.jbpm2094.EsbActionHandler">
<esbCategoryName>BPM_Orchestration2_Service6</esbCategoryName>
<esbServiceName>Service6</esbServiceName>
@@ -68,7 +68,7 @@
<transition name="" to="join1"/>
</node>
- <node name="Atlanta WHSE">
+ <node async="true" name="Atlanta WHSE">
<action name="esbAction" class="org.jbpm.jbpm2094.EsbActionHandler">
<esbCategoryName>BPM_Orchestration2_Service7</esbCategoryName>
@@ -87,7 +87,7 @@
<transition to="Shipment Notice"/>
</join>
- <node name="Shipment Notice">
+ <node async="true" name="Shipment Notice">
<action name="esbAction" class="org.jbpm.jbpm2094.EsbActionHandler">
<esbCategoryName>BPM_Orchestration2_ResultsService
</esbCategoryName>
@@ -106,7 +106,7 @@
<end-state name="end1"/>
- <node name="Credit Check">
+ <node async="true" name="Credit Check">
<action name="esbAction" class="org.jbpm.jbpm2094.EsbActionHandler">
<esbCategoryName>BPM_Orchestration2_Service3</esbCategoryName>
<esbServiceName>Service3</esbServiceName>
@@ -120,7 +120,7 @@
<transition to="Inventory Check"/>
</node>
- <node name="Inventory Check">
+ <node async="true" name="Inventory Check">
<action name="esbAction" class="org.jbpm.jbpm2094.EsbActionHandler">
<esbCategoryName>BPM_Orchestration2_Service4</esbCategoryName>
<esbServiceName>Service4</esbServiceName>
More information about the jbpm-commits
mailing list