[jbpm-commits] JBoss JBPM SVN: r4159 - in jbpm3/branches/jbpm-3.2.6.GA: modules/core/src/main/java/org/jbpm/graph/def and 3 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu Mar 5 16:46:19 EST 2009
Author: alex.guizar at jboss.com
Date: 2009-03-05 16:46:19 -0500 (Thu, 05 Mar 2009)
New Revision: 4159
Removed:
jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml
Modified:
jbpm3/branches/jbpm-3.2.6.GA/.project
jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java
jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java
jbpm3/branches/jbpm-3.2.6.GA/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java
Log:
restore callback time unit to milliseconds
Modified: jbpm3/branches/jbpm-3.2.6.GA/.project
===================================================================
--- jbpm3/branches/jbpm-3.2.6.GA/.project 2009-03-05 21:10:18 UTC (rev 4158)
+++ jbpm3/branches/jbpm-3.2.6.GA/.project 2009-03-05 21:46:19 UTC (rev 4159)
@@ -6,12 +6,18 @@
</projects>
<buildSpec>
<buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
<name>org.maven.ide.eclipse.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.maven.ide.eclipse.maven2Nature</nature>
</natures>
</projectDescription>
Modified: jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java
===================================================================
--- jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java 2009-03-05 21:10:18 UTC (rev 4158)
+++ jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/main/java/org/jbpm/graph/def/EventCallback.java 2009-03-05 21:46:19 UTC (rev 4159)
@@ -38,7 +38,7 @@
public class EventCallback implements Serializable {
- public static final int DEFAULT_TIMEOUT = 5 * 60;
+ public static final int DEFAULT_TIMEOUT = 5 * 60 * 1000;
private static final long serialVersionUID = 1L;
private static final Log log = LogFactory.getLog(EventCallback.class);
@@ -158,11 +158,11 @@
log.debug("waiting for " + event);
Semaphore eventSemaphore = getEventSemaphore(event);
try {
- if (eventSemaphore.tryAcquire(occurrences, timeout, TimeUnit.SECONDS)) {
+ if (eventSemaphore.tryAcquire(occurrences, timeout, TimeUnit.MILLISECONDS)) {
log.debug("received '" + event + "' notification");
}
else {
- throw new JbpmException("event '" + event + "' did not occur within " + timeout + " sec");
+ throw new JbpmException("event '" + event + "' did not occur within " + timeout + " ms");
}
}
catch (InterruptedException e) {
@@ -192,4 +192,4 @@
eventSemaphores.clear();
}
}
-}
\ No newline at end of file
+}
Modified: jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java
===================================================================
--- jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java 2009-03-05 21:10:18 UTC (rev 4158)
+++ jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/java/org/jbpm/jbpm1755/JBPM1755Test.java 2009-03-05 21:46:19 UTC (rev 4159)
@@ -1,7 +1,5 @@
package org.jbpm.jbpm1755;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.hibernate.LockMode;
import org.jbpm.db.AbstractDbTestCase;
import org.jbpm.graph.def.Event;
@@ -19,30 +17,23 @@
*/
public class JBPM1755Test extends AbstractDbTestCase {
- private long processDefinitionId;
+ private ProcessDefinition processDefinition;
- private static final int processInstanceCount = 5;
- private static final long maxWaitTime = 10 * 1000;
- private static final Log log = LogFactory.getLog(JBPM1755Test.class);
+ private static final int PROCESS_INSTANCE_COUNT = 5;
@Override
protected void setUp() throws Exception {
super.setUp();
-
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/jbpm1755/parallelprocess.xml");
- jbpmContext.deployProcessDefinition(processDefinition);
- processDefinitionId = processDefinition.getId();
-
+ processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/jbpm1755/parallelprocess.xml");
startJobExecutor();
}
@Override
protected void tearDown() throws Exception {
stopJobExecutor();
- graphSession.deleteProcessDefinition(processDefinitionId);
- super.tearDown();
-
+ graphSession.deleteProcessDefinition(processDefinition.getId());
EventCallback.clear();
+ super.tearDown();
}
public void testReadLock() {
@@ -58,48 +49,33 @@
}
private void launchProcessInstances(LockMode lockMode) {
- ProcessDefinition processDefinition = graphSession.loadProcessDefinition(processDefinitionId);
Join join = (Join) processDefinition.getNode("join1");
join.setParentLockMode(lockMode.toString());
+ jbpmContext.deployProcessDefinition(processDefinition);
- long[] processInstanceIds = new long[processInstanceCount];
- for (int i = 0; i < processInstanceCount; i++) {
+ long[] processInstanceIds = new long[PROCESS_INSTANCE_COUNT];
+ for (int i = 0; i < PROCESS_INSTANCE_COUNT; i++) {
+ newTransaction();
ProcessInstance processInstance = new ProcessInstance(processDefinition);
processInstanceIds[i] = processInstance.getId();
processInstance.getContextInstance().setVariable("eventCallback", new EventCallback());
processInstance.signal();
jbpmContext.save(processInstance);
}
- commitAndCloseSession();
- for (int i = 0; i < processInstanceCount; i++) {
- long processInstanceId = processInstanceIds[i];
- waitForProcessInstanceEnd(processInstanceId);
- assertTrue(hasProcessInstanceEnded(processInstanceId));
- }
-
- processJobs(maxWaitTime);
- }
-
- private void waitForProcessInstanceEnd(long processInstanceId) {
- long startTime = System.currentTimeMillis();
- do {
- EventCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END, 1000);
- if (System.currentTimeMillis() - startTime > maxWaitTime) {
- log.warn("process instance " + processInstanceId + " took too long");
- break;
- }
- } while (!hasProcessInstanceEnded(processInstanceId));
- }
-
- private boolean hasProcessInstanceEnded(long processInstanceId) {
- beginSessionTransaction();
+ commitAndCloseSession();
try {
- return jbpmContext.loadProcessInstance(processInstanceId).hasEnded();
+ EventCallback.waitForEvent(PROCESS_INSTANCE_COUNT, Event.EVENTTYPE_PROCESS_END);
}
finally {
- commitAndCloseSession();
+ beginSessionTransaction();
}
+
+ for (int i = 0; i < PROCESS_INSTANCE_COUNT; i++) {
+ long processInstanceId = processInstanceIds[i];
+ assertTrue("expected process instance " + processInstanceId + " to have ended",
+ jbpmContext.loadProcessInstance(processInstanceId).hasEnded());
+ }
}
}
Deleted: jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml
===================================================================
--- jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml 2009-03-05 21:10:18 UTC (rev 4158)
+++ jbpm3/branches/jbpm-3.2.6.GA/modules/core/src/test/resources/org/jbpm/jbpm1755/gpd.xml 2009-03-05 21:46:19 UTC (rev 4159)
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<root-container name="raceCondition" width="798" height="531">
- <node name="start" x="135" y="52" width="140" height="40">
- <edge>
- <label x="5" y="-10"/>
- </edge>
- </node>
- <node name="fork1" x="79" y="136" width="252" height="24">
- <edge>
- <label x="5" y="-10"/>
- </edge>
- <edge>
- <label x="5" y="-10"/>
- </edge>
- <edge>
- <label x="5" y="-10"/>
- </edge>
- </node>
- <node name="join1" x="79" y="311" width="252" height="24">
- <edge>
- <label x="5" y="-10"/>
- </edge>
- </node>
- <node name="node2" x="155" y="219" width="100" height="36">
- <edge>
- <label x="5" y="-10"/>
- </edge>
- </node>
- <node name="node3" x="276" y="220" width="98" height="36">
- <edge>
- <label x="5" y="-10"/>
- </edge>
- </node>
- <node name="node1" x="31" y="218" width="105" height="36">
- <edge>
- <label x="5" y="-10"/>
- </edge>
- </node>
- <node name="end" x="134" y="377" width="140" height="40"/>
-</root-container>
Modified: jbpm3/branches/jbpm-3.2.6.GA/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java
===================================================================
--- jbpm3/branches/jbpm-3.2.6.GA/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java 2009-03-05 21:10:18 UTC (rev 4158)
+++ jbpm3/branches/jbpm-3.2.6.GA/modules/enterprise/src/test/java/org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java 2009-03-05 21:46:19 UTC (rev 4159)
@@ -137,7 +137,13 @@
long rootTokenId = processInstance.getRootToken().getId();
cancelTimer("a", rootTokenId);
// no more expirations
- EventCallback.waitForEvent(Event.EVENTTYPE_TIMER, 2000);
+ try {
+ EventCallback.waitForEvent(Event.EVENTTYPE_TIMER, 2000);
+ fail("expected timeout exception");
+ }
+ catch (org.jbpm.JbpmException e) {
+ // timeout exception was expected
+ }
signalToken(rootTokenId);
assertTrue("expected process instance " + processInstanceId + " to have ended",
More information about the jbpm-commits
mailing list