[jbpm-commits] JBoss JBPM SVN: r2005 - in jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src: test/java/org/jbpm/job/executor and 1 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Aug 26 02:18:20 EDT 2008
Author: alex.guizar at jboss.com
Date: 2008-08-26 02:18:19 -0400 (Tue, 26 Aug 2008)
New Revision: 2005
Added:
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobConcurrencyDbTest.java
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/MultiJobExecutorDbTest.java
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/TestCallback.java
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/timer-on-timer.jpdl.xml
Removed:
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/ConcurrencyTest.java
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/MultiJobExecutorTest.java
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/timerOnTimer.jpdl.xml
Modified:
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/main/java/org/jbpm/db/hibernate/HibernateHelper.java
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobExecutorDbTest.java
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobExecutorDbTests.java
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/NoJobExecutorDbTest.java
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/TimerOnTimerDbTest.java
jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/resources/log4j.properties
Log:
[JBPM-1704] reduced duration of job executor tests
Modified: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/main/java/org/jbpm/db/hibernate/HibernateHelper.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/main/java/org/jbpm/db/hibernate/HibernateHelper.java 2008-08-26 04:37:20 UTC (rev 2004)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/main/java/org/jbpm/db/hibernate/HibernateHelper.java 2008-08-26 06:18:19 UTC (rev 2005)
@@ -119,16 +119,13 @@
Iterator iter = classMetadata.keySet().iterator();
while (iter.hasNext()) {
String entityName = (String) iter.next();
- log.debug("evicting entities "+entityName);
- Class entityClass = ClassLoaderUtil.loadClass(entityName);
- sessionFactory.evict(entityClass);
+ sessionFactory.evictEntity(entityName);
}
Map collectionMetadata = sessionFactory.getAllCollectionMetadata();
iter = collectionMetadata.keySet().iterator();
while (iter.hasNext()) {
String collectionName = (String) iter.next();
- log.debug("evicting collection "+collectionName);
sessionFactory.evictCollection(collectionName);
}
}
Deleted: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/ConcurrencyTest.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/ConcurrencyTest.java 2008-08-26 04:37:20 UTC (rev 2004)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/ConcurrencyTest.java 2008-08-26 06:18:19 UTC (rev 2005)
@@ -1,238 +0,0 @@
-package org.jbpm.job.executor;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
-import org.jbpm.graph.def.ActionHandler;
-import org.jbpm.graph.def.ProcessDefinition;
-import org.jbpm.graph.exe.ExecutionContext;
-import org.jbpm.graph.exe.ProcessInstance;
-
-/**
- * test case for http://jira.jboss.com/jira/browse/JBPM-983
- */
-public class ConcurrencyTest extends TestCase {
-
- private static Log log = LogFactory.getLog(ConcurrencyTest.class);
-
- protected static JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance("org/jbpm/jbpm.test.cfg.xml");
-
- protected void setUp() throws Exception {
- jbpmConfiguration.createSchema();
-
- JobExecutor jobExecutor = jbpmConfiguration.getJobExecutor();
- jobExecutor.setNbrOfThreads(5);
- jobExecutor.start();
-
- log.debug("");
- log.debug("### starting " + getName() + " ####################################################");
- }
-
- protected void tearDown() throws Exception {
- log.debug("### " + getName() + " done ####################################################");
- log.debug("");
-
- jbpmConfiguration.getJobExecutor().stop();
-
- jbpmConfiguration.dropSchema();
- }
-
- static String SUBPROCESS_XML = "<?xml version='1.0' encoding='UTF-8'?>"
- + "<process-definition xmlns='urn:jbpm.org:jpdl-3.2' name='simplesubtest'>"
- + "<start-state name='start-state1'>"
- + " <description>start of the process</description>"
- + " <transition name='start-to-check' to='fileCheck' />"
- + "</start-state>"
- + ""
- + "<node name='fileCheck' async='exclusive'>"
- + " <action name='action_filecheck' class='"
- + TestAction.class.getName()
- + "'>"
- + " </action>"
- + " <transition name='check-to-do' to='doWhatever'></transition>"
- + "</node>"
- + ""
- + "<node name='doWhatever' async='exclusive'>"
- + " <action name='action_do' class='"
- + TestAction.class.getName()
- + "'>"
- + " </action>"
- + " <transition name='check-to-end' to='end-state-success'></transition>"
- + "</node>"
- + ""
- + "<end-state name='end-state-success'>"
- + " <description>process finished normally</description>"
- + "</end-state>"
- + "</process-definition>";
-
- static String PROCESS_XML = "<?xml version='1.0' encoding='UTF-8'?>"
- + "<process-definition xmlns='urn:jbpm.org:jpdl-3.2' name='simpletest'>"
- + "<start-state name='start-state1'>"
- + " <description>start of the process</description>"
- + " <transition name='start-to-check' to='fileCheck' />"
- + "</start-state>"
- + ""
- + "<node name='fileCheck' async='true'>"
- + " <action name='action_check' class='"
- + TestAction.class.getName()
- + "'>"
- + " </action>"
- + " <transition name='check-to-fork' to='fork1'></transition>"
- + "</node>"
- + ""
- + "<fork name='fork1'>"
- + " <transition name='toNode1' to='node1'></transition>"
- + " <transition name='toNode2' to='node2'></transition>"
- + "</fork>"
- + ""
- + "<process-state name='node1' async='exclusive'>"
- + " <sub-process name='simplesubtest' />"
- + " <transition name='node1toJoin1' to='join1'></transition>"
- + "</process-state>"
- + ""
- + "<process-state name='node2' async='exclusive'>"
- + " <sub-process name='simplesubtest' />"
- + " <transition name='node2toJoin1' to='join1'></transition>"
- + "</process-state>"
- + ""
- + "<join name='join1'>"
- + " <transition name='joinToEnd' to='end-state-success'></transition>"
- + "</join>"
- + ""
- + "<end-state name='end-state-success'>"
- + " <description>process finished normally</description>"
- + "</end-state>"
- + "</process-definition>";
-
- public void testSimple() throws Exception {
- assertTrue(jbpmConfiguration.getJobExecutor().getNbrOfThreads() > 1);
-
- log.info("### TEST: deploy + start processes ###");
-
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- jbpmContext.deployProcessDefinition(ProcessDefinition.parseXmlString(SUBPROCESS_XML));
- jbpmContext.deployProcessDefinition(ProcessDefinition.parseXmlString(PROCESS_XML));
- }
- finally {
- jbpmContext.close();
- }
-
- // create test properties
- Map testVariables = new HashMap();
- testVariables.put("test", "true");
-
- final int processCount = 10;
- long[] piIds = new long[processCount];
- for (int i = 0; i < processCount; i++) {
- log.info("#################### TEST: starting process " + i + " ####################");
-
- jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- ProcessInstance pi = jbpmContext.newProcessInstanceForUpdate("simpletest");
- pi.getContextInstance().addVariables(testVariables);
- pi.signal();
- piIds[i] = pi.getId();
- }
- finally {
- jbpmContext.close();
- }
- }
-
- for (int i = 0; i < processCount; i++) {
- log.info("### TEST: wait for process completion ###");
-
- long piId = piIds[i];
- waitFor(piId);
-
- jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- ProcessInstance pi = jbpmContext.loadProcessInstance(piId);
- assertEquals("end-state-success", pi.getRootToken().getNode().getName());
- }
- finally {
- jbpmContext.close();
- }
-
- log.info("#################### TEST: finished ####################");
- }
- }
-
- protected void waitFor(final long piId) throws Exception {
- long startTime = System.currentTimeMillis();
- int SECONDS = 30;
-
- while (true) {
- if (System.currentTimeMillis() - startTime > SECONDS * 1000) {
- fail("Aborting after " + SECONDS + " seconds.");
- return;
- }
-
- log.info("waiting for workflow completion....");
- try {
- Thread.sleep(1000);
- }
- catch (InterruptedException e) {
- log.error("wait for workflow was interruputed", e);
- fail();
- }
-
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- if (jbpmContext.loadProcessInstance(piId).hasEnded())
- break;
- }
- finally {
- jbpmContext.close();
- }
- }
- }
-
- public static class TestAction implements ActionHandler {
-
- private static final long serialVersionUID = 1L;
-
- public void execute(ExecutionContext executionContext) throws Exception {
- String processName = executionContext.getProcessDefinition().getName()
- + ":"
- + executionContext.getProcessInstance().getId();
- String nodeName = executionContext.getToken().getNode().getName();
- String tokenName = executionContext.getToken().toString();
-
- log.info("ACTION (process="
- + processName
- + ",node="
- + nodeName
- + ",token="
- + tokenName
- + "): begin");
-
- for (int i = 0; i < 5; i++) {
- log.info("ACTION (process="
- + processName
- + ",node="
- + nodeName
- + ",token="
- + tokenName
- + "): working...");
- Thread.sleep(100);
- }
-
- log.info("ACTION (process="
- + processName
- + ",node="
- + nodeName
- + ",token="
- + tokenName
- + "): end");
-
- executionContext.leaveNode();
- }
- }
-}
Copied: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobConcurrencyDbTest.java (from rev 2004, jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/ConcurrencyTest.java)
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobConcurrencyDbTest.java (rev 0)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobConcurrencyDbTest.java 2008-08-26 06:18:19 UTC (rev 2005)
@@ -0,0 +1,238 @@
+package org.jbpm.job.executor;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+import org.jbpm.graph.def.ActionHandler;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ExecutionContext;
+import org.jbpm.graph.exe.ProcessInstance;
+
+/**
+ * test case for http://jira.jboss.com/jira/browse/JBPM-983
+ */
+public class JobConcurrencyDbTest extends TestCase {
+
+ private static Log log = LogFactory.getLog(JobConcurrencyDbTest.class);
+
+ protected static JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance("org/jbpm/jbpm.test.cfg.xml");
+
+ protected void setUp() throws Exception {
+ jbpmConfiguration.createSchema();
+
+ JobExecutor jobExecutor = jbpmConfiguration.getJobExecutor();
+ jobExecutor.setNbrOfThreads(5);
+ jobExecutor.start();
+
+ log.debug("");
+ log.debug("### starting " + getName() + " ####################################################");
+ }
+
+ protected void tearDown() throws Exception {
+ log.debug("### " + getName() + " done ####################################################");
+ log.debug("");
+
+ jbpmConfiguration.getJobExecutor().stop();
+
+ jbpmConfiguration.dropSchema();
+ }
+
+ static String SUBPROCESS_XML = "<?xml version='1.0' encoding='UTF-8'?>"
+ + "<process-definition xmlns='urn:jbpm.org:jpdl-3.2' name='subprocess'>"
+ + "<start-state name='start-state1'>"
+ + " <description>start of the process</description>"
+ + " <transition name='start-to-check' to='fileCheck' />"
+ + "</start-state>"
+ + ""
+ + "<node name='fileCheck' async='exclusive'>"
+ + " <action name='action_filecheck' class='"
+ + TestAction.class.getName()
+ + "'>"
+ + " </action>"
+ + " <transition name='check-to-do' to='doWhatever'></transition>"
+ + "</node>"
+ + ""
+ + "<node name='doWhatever' async='exclusive'>"
+ + " <action name='action_do' class='"
+ + TestAction.class.getName()
+ + "'>"
+ + " </action>"
+ + " <transition name='check-to-end' to='end-state-success'></transition>"
+ + "</node>"
+ + ""
+ + "<end-state name='end-state-success'>"
+ + " <description>process finished normally</description>"
+ + "</end-state>"
+ + "</process-definition>";
+
+ static String PROCESS_XML = "<?xml version='1.0' encoding='UTF-8'?>"
+ + "<process-definition xmlns='urn:jbpm.org:jpdl-3.2' name='superprocess'>"
+ + "<start-state name='start-state1'>"
+ + " <description>start of the process</description>"
+ + " <transition name='start-to-check' to='fileCheck' />"
+ + "</start-state>"
+ + ""
+ + "<node name='fileCheck' async='true'>"
+ + " <action name='action_check' class='"
+ + TestAction.class.getName()
+ + "'>"
+ + " </action>"
+ + " <transition name='check-to-fork' to='fork1'></transition>"
+ + "</node>"
+ + ""
+ + "<fork name='fork1'>"
+ + " <transition name='toNode1' to='node1'></transition>"
+ + " <transition name='toNode2' to='node2'></transition>"
+ + "</fork>"
+ + ""
+ + "<process-state name='node1' async='exclusive'>"
+ + " <sub-process name='subprocess' />"
+ + " <transition name='node1toJoin1' to='join1'></transition>"
+ + "</process-state>"
+ + ""
+ + "<process-state name='node2' async='exclusive'>"
+ + " <sub-process name='subprocess' />"
+ + " <transition name='node2toJoin1' to='join1'></transition>"
+ + "</process-state>"
+ + ""
+ + "<join name='join1'>"
+ + " <transition name='joinToEnd' to='end-state-success'></transition>"
+ + "</join>"
+ + ""
+ + "<end-state name='end-state-success'>"
+ + " <description>process finished normally</description>"
+ + "</end-state>"
+ + "</process-definition>";
+
+ public void testConcurrentJobs() throws Exception {
+ assertTrue(jbpmConfiguration.getJobExecutor().getNbrOfThreads() > 1);
+
+ log.info("### TEST: deploy + start processes ###");
+
+ JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
+ try {
+ jbpmContext.deployProcessDefinition(ProcessDefinition.parseXmlString(SUBPROCESS_XML));
+ jbpmContext.deployProcessDefinition(ProcessDefinition.parseXmlString(PROCESS_XML));
+ }
+ finally {
+ jbpmContext.close();
+ }
+
+ // create test properties
+ Map testVariables = new HashMap();
+ testVariables.put("test", "true");
+
+ final int processCount = 10;
+ long[] piIds = new long[processCount];
+ for (int i = 0; i < processCount; i++) {
+ log.info("#################### TEST: starting process " + i + " ####################");
+
+ jbpmContext = jbpmConfiguration.createJbpmContext();
+ try {
+ ProcessInstance pi = jbpmContext.newProcessInstanceForUpdate("superprocess");
+ pi.getContextInstance().addVariables(testVariables);
+ pi.signal();
+ piIds[i] = pi.getId();
+ }
+ finally {
+ jbpmContext.close();
+ }
+ }
+
+ for (int i = 0; i < processCount; i++) {
+ log.info("### TEST: wait for process completion ###");
+
+ long piId = piIds[i];
+ waitFor(piId);
+
+ jbpmContext = jbpmConfiguration.createJbpmContext();
+ try {
+ ProcessInstance pi = jbpmContext.loadProcessInstance(piId);
+ assertEquals("end-state-success", pi.getRootToken().getNode().getName());
+ }
+ finally {
+ jbpmContext.close();
+ }
+
+ log.info("#################### TEST: finished ####################");
+ }
+ }
+
+ protected void waitFor(long piId) throws Exception {
+ final int endTimeout = 30;
+ long startTime = System.currentTimeMillis();
+
+ while (true) {
+ if (System.currentTimeMillis() - startTime > endTimeout * 1000) {
+ fail("Aborting after " + endTimeout + " seconds.");
+ return;
+ }
+
+ log.info("waiting for workflow completion....");
+ try {
+ Thread.sleep(1000);
+ }
+ catch (InterruptedException e) {
+ log.error("wait for workflow was interruputed", e);
+ fail();
+ }
+
+ JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
+ try {
+ if (jbpmContext.loadProcessInstance(piId).hasEnded())
+ break;
+ }
+ finally {
+ jbpmContext.close();
+ }
+ }
+ }
+
+ public static class TestAction implements ActionHandler {
+
+ private static final long serialVersionUID = 1L;
+
+ public void execute(ExecutionContext executionContext) throws Exception {
+ String processName = executionContext.getProcessDefinition().getName()
+ + ":"
+ + executionContext.getProcessInstance().getId();
+ String nodeName = executionContext.getToken().getNode().getName();
+ String tokenName = executionContext.getToken().toString();
+
+ log.info("ACTION (process="
+ + processName
+ + ",node="
+ + nodeName
+ + ",token="
+ + tokenName
+ + "): begin");
+
+ for (int i = 0; i < 5; i++) {
+ log.info("ACTION (process="
+ + processName
+ + ",node="
+ + nodeName
+ + ",token="
+ + tokenName
+ + "): working...");
+ Thread.sleep(100);
+ }
+
+ log.info("ACTION (process="
+ + processName
+ + ",node="
+ + nodeName
+ + ",token="
+ + tokenName
+ + "): end");
+
+ executionContext.leaveNode();
+ }
+ }
+}
Property changes on: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobConcurrencyDbTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Modified: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobExecutorDbTest.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobExecutorDbTest.java 2008-08-26 04:37:20 UTC (rev 2004)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobExecutorDbTest.java 2008-08-26 06:18:19 UTC (rev 2005)
@@ -54,7 +54,7 @@
}
}
- public void testBulkJobs() {
+ public void testJobExecutor() {
jbpmConfiguration.createSchema();
deployProcess();
launchProcesses();
Modified: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobExecutorDbTests.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobExecutorDbTests.java 2008-08-26 04:37:20 UTC (rev 2004)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/JobExecutorDbTests.java 2008-08-26 06:18:19 UTC (rev 2005)
@@ -31,8 +31,8 @@
// $JUnit-BEGIN$
suite.addTestSuite(JobExecutorDbTest.class);
suite.addTestSuite(NoJobExecutorDbTest.class);
- suite.addTestSuite(MultiJobExecutorTest.class);
- suite.addTestSuite(ConcurrencyTest.class);
+ suite.addTestSuite(MultiJobExecutorDbTest.class);
+ suite.addTestSuite(JobConcurrencyDbTest.class);
suite.addTestSuite(TimerOnTimerDbTest.class);
// $JUnit-END$
return suite;
Copied: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/MultiJobExecutorDbTest.java (from rev 2004, jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/MultiJobExecutorTest.java)
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/MultiJobExecutorDbTest.java (rev 0)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/MultiJobExecutorDbTest.java 2008-08-26 06:18:19 UTC (rev 2005)
@@ -0,0 +1,135 @@
+package org.jbpm.job.executor;
+
+import java.sql.SQLException;
+
+import junit.framework.TestCase;
+
+import org.jbpm.JbpmConfiguration;
+import org.jbpm.JbpmContext;
+import org.jbpm.graph.def.ActionHandler;
+import org.jbpm.graph.def.Event;
+import org.jbpm.graph.def.ProcessDefinition;
+import org.jbpm.graph.exe.ExecutionContext;
+import org.jbpm.graph.exe.ProcessInstance;
+
+/**
+ * Test case for JBPM-1072.
+ * @author Jiri Pechanec
+ * @author Alejandro Guizar
+ */
+public class MultiJobExecutorDbTest extends TestCase {
+
+ private static final int EXECUTOR_COUNT = 20;
+ public static final String PROCESS_NAME = "TestProcess";
+
+ private JobExecutor[] executors = new JobExecutor[EXECUTOR_COUNT];
+
+ private static JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
+
+ public static final String PROCESS_DEFINITION = "<?xml version='1.0' encoding='UTF-8'?>"
+ + "<process-definition name='" + PROCESS_NAME + "'>"
+ + "<event type='process-end'>"
+ + "<action expression='#{testCallback.processEnd}' />"
+ + "</event>"
+ + "<start-state name='start-state1'>"
+ + "<transition to='Service 1'></transition>"
+ + "</start-state>"
+ + "<node name='Service 1'>"
+ + "<action class='"
+ + SimpleAction.class.getName()
+ + "' />"
+ + "<transition to='Service 2' />"
+ + "</node>"
+ + "<node name='Service 2' async='true'>"
+ + "<action class='"
+ + SimpleAction2.class.getName()
+ + "' />"
+ + "<transition to='end-state1' />"
+ + "</node>"
+ + "<end-state name='end-state1' />"
+ + "</process-definition>";
+
+ protected void setUp() throws SQLException {
+ jbpmConfiguration.createSchema();
+
+ // deploy process definition
+ JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
+ try {
+ jbpmContext.deployProcessDefinition(ProcessDefinition.parseXmlString(PROCESS_DEFINITION));
+ }
+ finally {
+ jbpmContext.close();
+ }
+ }
+
+ public void testMultipleJobExecutors() {
+ // start job executors
+ for (int i = 0; i < executors.length; i++) {
+ executors[i] = (JobExecutor) JbpmConfiguration.Configs.getObjectFactory().createObject(
+ "jbpm.job.executor");
+ executors[i].setName("JbpmJobExecutor/" + (i + 1));
+ executors[i].start();
+ }
+
+ // kick off process instance
+ JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
+ try {
+ ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate(PROCESS_NAME);
+ processInstance.getContextInstance().setVariable("testCallback", new TestCallback());
+ processInstance.signal();
+ }
+ finally {
+ jbpmContext.close();
+ }
+
+ // wait for process end
+ TestCallback.waitForEvent(Event.EVENTTYPE_PROCESS_END);
+
+ // stop job executors
+ for (int i = executors.length - 1; i >= 0; i--) {
+ try {
+ executors[i].stopAndJoin();
+ }
+ catch (InterruptedException e) {
+ // continue to next executor
+ }
+ }
+
+ assertEquals(1, SimpleAction2.getExecutionCount());
+ }
+
+ protected void tearDown() {
+ jbpmConfiguration.dropSchema();
+ }
+
+ public static class SimpleAction implements ActionHandler {
+
+ private static final long serialVersionUID = 1L;
+
+ public void execute(ExecutionContext exeContext) throws Exception {
+ System.out.println("Action 1");
+ exeContext.leaveNode();
+ }
+
+ }
+
+ public static class SimpleAction2 implements ActionHandler {
+
+ private static int executionCount = 0;
+
+ private static final long serialVersionUID = 1L;
+
+ public void execute(ExecutionContext exeContext) throws Exception {
+ System.out.println("Action 2: " + incrementCount());
+ exeContext.leaveNode();
+ }
+
+ private static synchronized int incrementCount() {
+ return ++executionCount;
+ }
+
+ public static synchronized int getExecutionCount() {
+ return executionCount;
+ }
+ }
+}
Property changes on: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/MultiJobExecutorDbTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ LF
Deleted: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/MultiJobExecutorTest.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/MultiJobExecutorTest.java 2008-08-26 04:37:20 UTC (rev 2004)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/MultiJobExecutorTest.java 2008-08-26 06:18:19 UTC (rev 2005)
@@ -1,163 +0,0 @@
-package org.jbpm.job.executor;
-
-import java.sql.SQLException;
-
-import junit.framework.TestCase;
-
-import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
-import org.jbpm.command.CommandService;
-import org.jbpm.command.SignalCommand;
-import org.jbpm.command.StartProcessInstanceCommand;
-import org.jbpm.command.impl.CommandServiceImpl;
-import org.jbpm.graph.def.ActionHandler;
-import org.jbpm.graph.def.ProcessDefinition;
-import org.jbpm.graph.exe.ExecutionContext;
-import org.jbpm.graph.exe.ProcessInstance;
-
-/**
- * Test case for JBPM-1072.
- * @author Jiri Pechanec
- * @author Alejandro Guizar
- */
-public class MultiJobExecutorTest extends TestCase {
-
- private static final int EXECUTOR_COUNT = 20;
- public static final String PROCESS_NAME = "TestProcess";
-
- private JobExecutor[] executors = new JobExecutor[EXECUTOR_COUNT];
-
- private static JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
- private static CommandService commandService = new CommandServiceImpl(jbpmConfiguration);
-
- public static final String PROCESS_DEFINITION = "<?xml version='1.0' encoding='UTF-8'?>"
- + "<process-definition xmlns='' name='TestProcess'>"
- + "<event type='process-end'>"
- + "<action class='"
- + EndAction.class.getName()
- + "' />"
- + "</event>"
- + "<start-state name='start-state1'>"
- + "<transition to='Service 1'></transition>"
- + "</start-state>"
- + "<node name='Service 1'>"
- + "<action class='"
- + SimpleAction.class.getName()
- + "' />"
- + "<transition to='Service 2' />"
- + "</node>"
- + "<node name='Service 2' async='true'>"
- + "<action class='"
- + SimpleAction2.class.getName()
- + "' />"
- + "<transition to='end-state1' />"
- + "</node>"
- + "<end-state name='end-state1' />"
- + "</process-definition>";
-
- protected void setUp() throws SQLException {
- jbpmConfiguration.createSchema();
-
- // deploy process definition
- JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
- try {
- jbpmContext.deployProcessDefinition(ProcessDefinition.parseXmlString(PROCESS_DEFINITION));
- System.out.println("Isolation " + jbpmContext.getConnection().getTransactionIsolation());
- }
- finally {
- jbpmContext.close();
- }
- }
-
- public void testMultipleExecutors() {
- // start job executors
- for (int i = 0; i < executors.length; i++) {
- executors[i] = (JobExecutor) JbpmConfiguration.Configs.getObjectFactory().createObject(
- "jbpm.job.executor");
- executors[i].setName("JbpmJobExecutor/" + (i + 1));
- executors[i].start();
- }
-
- // kick off process instance
- StartProcessInstanceCommand startCommand = new StartProcessInstanceCommand();
- startCommand.setProcessName(PROCESS_NAME);
- ProcessInstance pi = (ProcessInstance) commandService.execute(startCommand);
-
- // signal service 1
- SignalCommand signalCommand = new SignalCommand();
- signalCommand.setTokenId(pi.getRootToken().getId());
- commandService.execute(signalCommand);
-
- // wait for process end
- EndAction.waitFor();
-
- // stop job executors
- for (int i = executors.length - 1; i >= 0; i--) {
- try {
- executors[i].stopAndJoin();
- }
- catch (InterruptedException e) {
- // continue to next executor
- }
- }
-
- assertEquals(1, SimpleAction2.getExecutionCount());
- }
-
- protected void tearDown() {
- jbpmConfiguration.dropSchema();
- }
-
- public static class SimpleAction implements ActionHandler {
-
- private static final long serialVersionUID = -9065054081909009083L;
-
- public void execute(ExecutionContext ctx) throws Exception {
- System.out.println("Action 1");
- }
-
- }
-
- public static class SimpleAction2 implements ActionHandler {
-
- private static int executionCount = 0;
-
- private static final long serialVersionUID = -9065054081909009083L;
-
- public void execute(ExecutionContext ctx) throws Exception {
- System.out.println("Action 2: " + incrementCount());
- ctx.getNode().leave(ctx);
- }
-
- private static synchronized int incrementCount() {
- return ++executionCount;
- }
-
- public static synchronized int getExecutionCount() {
- return executionCount;
- }
- }
-
- public static class EndAction implements ActionHandler {
-
- private static final Object monitor = new Object();
-
- private static final long serialVersionUID = 1L;
-
- public void execute(ExecutionContext executionContext) throws Exception {
- synchronized (monitor) {
- monitor.notify();
- }
- }
-
- public static void waitFor() {
- try {
- synchronized (monitor) {
- monitor.wait(60000);
- }
- }
- catch (InterruptedException e) {
- }
- }
- }
-}
Modified: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/NoJobExecutorDbTest.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/NoJobExecutorDbTest.java 2008-08-26 04:37:20 UTC (rev 2004)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/NoJobExecutorDbTest.java 2008-08-26 06:18:19 UTC (rev 2005)
@@ -25,6 +25,7 @@
import org.jbpm.JbpmConfiguration;
import org.jbpm.JbpmContext;
+import org.jbpm.configuration.ObjectFactory;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
@@ -51,10 +52,13 @@
jbpmConfiguration.dropSchema();
}
- public void testJobExecutorDoesNotExist() {
+ public void testNoJobExecutor() {
// check the job executor is properly nullified
- assertNull(jbpmContext.getObjectFactory().createObject("jbpm.job.executor"));
- // start and end a process instance, confirm no exception gets thrown
+ ObjectFactory objectFactory = jbpmContext.getObjectFactory();
+ assertTrue("expected object factory to have object jbpm.job.executor",
+ objectFactory.hasObject("jbpm.job.executor"));
+ assertNull(objectFactory.createObject("jbpm.job.executor"));
+ // start and end a process instance, no exception should be thrown
jbpmContext.deployProcessDefinition(new ProcessDefinition("Audit"));
ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("Audit");
processInstance.end();
Added: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/TestCallback.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/TestCallback.java (rev 0)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/TestCallback.java 2008-08-26 06:18:19 UTC (rev 2005)
@@ -0,0 +1,105 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jbpm.job.executor;
+
+import java.io.Serializable;
+
+import javax.transaction.Status;
+import javax.transaction.Synchronization;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.jbpm.JbpmContext;
+import org.jbpm.graph.def.Event;
+
+public class TestCallback implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+ private static final Log log = LogFactory.getLog(TestCallback.class);
+
+ public void processStart() {
+ registerNotification(Event.EVENTTYPE_PROCESS_START);
+ }
+
+ public void processEnd() {
+ registerNotification(Event.EVENTTYPE_PROCESS_END);
+ }
+
+ public void nodeEnter() {
+ registerNotification(Event.EVENTTYPE_NODE_ENTER);
+ }
+
+ public void nodeLeave() {
+ registerNotification(Event.EVENTTYPE_NODE_LEAVE);
+ }
+
+ public void taskCreate() {
+ registerNotification(Event.EVENTTYPE_TASK_CREATE);
+ }
+
+ public void taskEnd() {
+ registerNotification(Event.EVENTTYPE_TASK_END);
+ }
+
+ public void timerCreate() {
+ registerNotification(Event.EVENTTYPE_TIMER_CREATE);
+ }
+
+ public void timer() {
+ registerNotification(Event.EVENTTYPE_TIMER);
+ }
+
+ private static void registerNotification(final String event) {
+ Synchronization notification = new Synchronization() {
+
+ public void beforeCompletion() {
+ // nothing to do here
+ }
+
+ public void afterCompletion(int status) {
+ if (status == Status.STATUS_COMMITTED) {
+ log.info("delivering " + event + " notification");
+ synchronized (event) {
+ event.notify();
+ }
+ }
+ }
+
+ };
+ JbpmContext.getCurrentJbpmContext()
+ .getSession()
+ .getTransaction()
+ .registerSynchronization(notification);
+ }
+
+ public static void waitForEvent(String event) {
+ synchronized (event) {
+ try {
+ event.wait(30000);
+ }
+ catch (InterruptedException e) {
+ // reassert interruption
+ Thread.currentThread().interrupt();
+ }
+ }
+ }
+}
\ No newline at end of file
Modified: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/TimerOnTimerDbTest.java
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/TimerOnTimerDbTest.java 2008-08-26 04:37:20 UTC (rev 2004)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/TimerOnTimerDbTest.java 2008-08-26 06:18:19 UTC (rev 2005)
@@ -21,13 +21,6 @@
*/
package org.jbpm.job.executor;
-import java.io.Serializable;
-
-import javax.transaction.Status;
-import javax.transaction.Synchronization;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.jbpm.db.AbstractDbTestCase;
import org.jbpm.graph.def.Event;
import org.jbpm.graph.def.ProcessDefinition;
@@ -40,7 +33,7 @@
public class TimerOnTimerDbTest extends AbstractDbTestCase {
public void testTimerOnTimer() {
- ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/job/executor/timerOnTimer.jpdl.xml");
+ ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("org/jbpm/job/executor/timer-on-timer.jpdl.xml");
jbpmContext.deployProcessDefinition(processDefinition);
ProcessInstance processInstance = jbpmContext.newProcessInstanceForUpdate("timerTest");
@@ -68,77 +61,4 @@
stopJobExecutor();
}
}
-
- public static class TestCallback implements Serializable {
-
- private static final long serialVersionUID = 1L;
- private static final Log log = LogFactory.getLog(TestCallback.class);
-
- public void processStart() {
- registerNotification(Event.EVENTTYPE_PROCESS_START);
- }
-
- public void processEnd() {
- registerNotification(Event.EVENTTYPE_PROCESS_END);
- }
-
- public void nodeEnter() {
- registerNotification(Event.EVENTTYPE_NODE_ENTER);
- }
-
- public void nodeLeave() {
- registerNotification(Event.EVENTTYPE_NODE_LEAVE);
- }
-
- public void taskCreate() {
- registerNotification(Event.EVENTTYPE_TASK_CREATE);
- }
-
- public void taskEnd() {
- registerNotification(Event.EVENTTYPE_TASK_END);
- }
-
- public void timerCreate() {
- registerNotification(Event.EVENTTYPE_TIMER_CREATE);
- }
-
- public void timer() {
- registerNotification(Event.EVENTTYPE_TIMER);
- }
-
- private static void registerNotification(final String event) {
- Synchronization notification = new Synchronization() {
-
- public void beforeCompletion() {
- // nothing to do here
- }
-
- public void afterCompletion(int status) {
- if (status == Status.STATUS_COMMITTED) {
- log.info("delivering " + event + " notification");
- synchronized (event) {
- event.notify();
- }
- }
- }
-
- };
- jbpmConfiguration.getCurrentJbpmContext()
- .getSession()
- .getTransaction()
- .registerSynchronization(notification);
- }
-
- public static void waitForEvent(String event) {
- synchronized (event) {
- try {
- event.wait(60000);
- }
- catch (InterruptedException e) {
- // reassert interruption
- Thread.currentThread().interrupt();
- }
- }
- }
- }
}
Copied: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/timer-on-timer.jpdl.xml (from rev 2003, jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/timerOnTimer.jpdl.xml)
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/timer-on-timer.jpdl.xml (rev 0)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/timer-on-timer.jpdl.xml 2008-08-26 06:18:19 UTC (rev 2005)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process-definition name="timerTest" xmlns="urn:jbpm.org:jpdl-3.2"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:jbpm.org:jpdl-3.2 http://jbpm.org/xsd/jpdl-3.2.xsd">
+
+ <event type="process-start">
+ <action expression="#{testCallback.processStart}"/>
+ </event>
+ <event type="process-end">
+ <action expression="#{testCallback.processEnd}"/>
+ </event>
+ <event type="node-enter">
+ <action expression="#{testCallback.nodeEnter}" />
+ </event>
+ <event type="node-leave">
+ <action expression="#{testCallback.nodeLeave}" />
+ </event>
+
+ <start-state name="start">
+ <transition name="doneStart" to="firstNode" />
+ </start-state>
+
+ <task-node name="firstNode" end-tasks="yes">
+ <task name="firstTask">
+ <assignment actor-id="admin" />
+ <timer duedate="1 second" transition="doneFirst" />
+ </task>
+ <transition name="doneFirst" to="secondNode" />
+ </task-node>
+
+ <task-node name="secondNode" end-tasks="yes">
+ <task name="secondTask">
+ <assignment actor-id="admin" />
+ <timer duedate="1 second" transition="doneSecond" />
+ </task>
+ <transition name="doneSecond" to="end" />
+ </task-node>
+
+ <end-state name="end" />
+
+</process-definition>
\ No newline at end of file
Property changes on: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/timer-on-timer.jpdl.xml
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/timerOnTimer.jpdl.xml
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/timerOnTimer.jpdl.xml 2008-08-26 04:37:20 UTC (rev 2004)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/java/org/jbpm/job/executor/timerOnTimer.jpdl.xml 2008-08-26 06:18:19 UTC (rev 2005)
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<process-definition name="timerTest" xmlns="urn:jbpm.org:jpdl-3.2"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:jbpm.org:jpdl-3.2 http://jbpm.org/xsd/jpdl-3.2.xsd">
-
- <event type="process-start">
- <action expression="#{testCallback.processStart}"/>
- </event>
- <event type="process-end">
- <action expression="#{testCallback.processEnd}"/>
- </event>
- <event type="node-enter">
- <action expression="#{testCallback.nodeEnter}" />
- </event>
- <event type="node-leave">
- <action expression="#{testCallback.nodeLeave}" />
- </event>
- <event type="task-create">
- <action expression="#{testCallback.taskCreate}" />
- </event>
- <event type="task-end">
- <action expression="#{testCallback.taskEnd}" />
- </event>
- <event type="timer-create">
- <action expression="#{testCallback.timerCreate}" />
- </event>
- <event type="timer">
- <action expression="#{testCallback.timer}"/>
- </event>
-
- <start-state name="start">
- <transition name="doneStart" to="firstNode" />
- </start-state>
-
- <task-node name="firstNode" end-tasks="yes">
- <task name="firstTask">
- <assignment actor-id="admin" />
- <timer duedate="1 second" transition="doneFirst" />
- </task>
- <transition name="doneFirst" to="secondNode" />
- </task-node>
-
- <task-node name="secondNode" end-tasks="yes">
- <task name="secondTask">
- <assignment actor-id="admin" />
- <timer duedate="1 second" transition="doneSecond" />
- </task>
- <transition name="doneSecond" to="end" />
- </task-node>
-
- <end-state name="end" />
-
-</process-definition>
\ No newline at end of file
Modified: jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/resources/log4j.properties
===================================================================
--- jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/resources/log4j.properties 2008-08-26 04:37:20 UTC (rev 2004)
+++ jbpm3/branches/jpdl-3.2.3.GA_JBPM-1704/jpdl/jar/src/test/resources/log4j.properties 2008-08-26 06:18:19 UTC (rev 2005)
@@ -15,9 +15,9 @@
# hide optimistic locking failures
log4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=FATAL
#Log all SQL DML statements as they are executed
-#log4j.logger.org.hibernate.SQL=TRACE
+log4j.logger.org.hibernate.SQL=DEBUG
#Log all JDBC parameters
-log4j.logger.org.hibernate.type=TRACE
+#log4j.logger.org.hibernate.type=TRACE
#Log all SQL DDL statements as they are executed
#log4j.logger.org.hibernate.tool.hbm2ddl=DEBUG
#Log the state of all entities (max 20 entities) associated with the session at flush time
More information about the jbpm-commits
mailing list