[jbpm-commits] JBoss JBPM SVN: r3378 - in jbpm3/trunk/modules/enterprise: src/test/java/org/jbpm/enterprise/jms and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Sun Dec 14 04:06:08 EST 2008
Author: alex.guizar at jboss.com
Date: 2008-12-14 04:06:04 -0500 (Sun, 14 Dec 2008)
New Revision: 3378
Modified:
jbpm3/trunk/modules/enterprise/pom.xml
jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jms/JmsMessageTest.java
Log:
JBPM-1811: excluded JmsMessageTest.testAsyncFork from hsqldb test suite, hsqldb cannot reliably handle concurrent joins
Modified: jbpm3/trunk/modules/enterprise/pom.xml
===================================================================
--- jbpm3/trunk/modules/enterprise/pom.xml 2008-12-13 21:09:18 UTC (rev 3377)
+++ jbpm3/trunk/modules/enterprise/pom.xml 2008-12-14 09:06:04 UTC (rev 3378)
@@ -202,6 +202,9 @@
<name>!database</name>
</property>
</activation>
+ <properties>
+ <database>hsqldb</database>
+ </properties>
<build>
<plugins>
<plugin>
@@ -210,8 +213,6 @@
<excludes>
<!-- [JBPM-1708] Enterprise EjbSchedulerTest fails -->
<exclude>org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java</exclude>
- <!-- [JBPM-1811] JmsMessageTest fails intermitently on HSQLDB -->
- <exclude>org/jbpm/enterprise/jms/JmsMessageTest.java</exclude>
</excludes>
</configuration>
</plugin>
@@ -262,8 +263,6 @@
<excludes>
<!-- [JBPM-1708] Enterprise EjbSchedulerTest fails -->
<exclude>org/jbpm/enterprise/ejbtimer/EjbSchedulerTest.java</exclude>
- <!-- [JBPM-1811] JmsMessageTest fails intermitently on HSQLDB -->
- <exclude>org/jbpm/enterprise/jms/JmsMessageTest.java</exclude>
</excludes>
</configuration>
</plugin>
Modified: jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jms/JmsMessageTest.java
===================================================================
--- jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jms/JmsMessageTest.java 2008-12-13 21:09:18 UTC (rev 3377)
+++ jbpm3/trunk/modules/enterprise/src/test/java/org/jbpm/enterprise/jms/JmsMessageTest.java 2008-12-14 09:06:04 UTC (rev 3378)
@@ -31,9 +31,10 @@
import org.apache.cactus.ServletTestCase;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.hibernate.cfg.Environment;
+import org.jboss.bpm.api.test.IntegrationTestSetup;
import org.jbpm.EventCallback;
import org.jbpm.JbpmContext;
-import org.jboss.bpm.api.test.IntegrationTestSetup;
import org.jbpm.command.Command;
import org.jbpm.command.DeployProcessCommand;
import org.jbpm.command.StartProcessInstanceCommand;
@@ -43,9 +44,12 @@
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.msg.jms.JmsMessageService;
+import org.jbpm.persistence.db.DbPersistenceServiceFactory;
+import org.jbpm.svc.Services;
/**
* Exercises for the {@linkplain JmsMessageService JMS message service}.
+ *
* @author Alejandro Guizar
*/
public class JmsMessageTest extends ServletTestCase {
@@ -58,17 +62,16 @@
static final int maxWaitTime = 10 * 1000;
public static Test suite() throws Exception {
- return new IntegrationTestSetup(JmsMessageTest.class, "enterprise-test.war");
+ return new IntegrationTestSetup(JmsMessageTest.class, "enterprise-test.war");
}
- protected void setUp() throws Exception
- {
+ protected void setUp() throws Exception {
if (commandServiceHome == null) {
Context initialContext = new InitialContext();
try {
- commandServiceHome = (LocalCommandServiceHome) initialContext.lookup("java:comp/env/ejb/CommandServiceBean");
- }
- finally {
+ commandServiceHome = (LocalCommandServiceHome) initialContext
+ .lookup("java:comp/env/ejb/CommandServiceBean");
+ } finally {
initialContext.close();
}
}
@@ -76,15 +79,13 @@
log.info("### " + getName() + " started ###");
}
- protected void tearDown() throws Exception
- {
+ protected void tearDown() throws Exception {
log.info("### " + getName() + " done ###");
commandService = null;
EventCallback.clear();
}
- public void testAsyncNode()
- {
+ public void testAsyncNode() {
deployProcess("<process-definition name='node'>"
+ " <event type='process-end'>"
+ " <action expression='#{eventCallback.processEnd}'/>"
@@ -102,8 +103,7 @@
assertTrue("Process has ended", hasProcessEnded(processId));
}
- public void testAsyncAction()
- {
+ public void testAsyncAction() {
deployProcess("<process-definition name='action'>"
+ " <start-state name='start'>"
+ " <transition to='a' />"
@@ -128,8 +128,7 @@
assertTrue("Process has ended", hasProcessEnded(processId));
}
- public void testAsyncSequence()
- {
+ public void testAsyncSequence() {
deployProcess("<process-definition name='sequence'>"
+ " <event type='process-end'>"
+ " <action expression='#{eventCallback.processEnd}'/>"
@@ -159,8 +158,12 @@
assertTrue("Process has ended", hasProcessEnded(processId));
}
- public void testAsyncFork() throws Exception
- {
+ public void testAsyncFork() throws Exception {
+ if (getDialect().indexOf("HSQL") != -1) {
+ // [JBPM-1811] JmsMessageTest fails intermitently on HSQLDB
+ return;
+ }
+
deployProcess("<process-definition name='fork'>"
+ " <event type='process-end'>"
+ " <action expression='#{eventCallback.processEnd}'/>"
@@ -201,12 +204,22 @@
assertTrue("Process has ended", hasProcessEnded(processId));
}
- public void testAsyncExecutions()
- {
+ private String getDialect() {
+ return (String) commandService.execute(new Command() {
+ private static final long serialVersionUID = 1L;
+
+ public Object execute(JbpmContext jbpmContext) throws Exception {
+ DbPersistenceServiceFactory factory = (DbPersistenceServiceFactory) jbpmContext.getServiceFactory(Services.SERVICENAME_PERSISTENCE);
+ return factory.getConfiguration().getProperty(Environment.DIALECT);
+ }
+ });
+ }
+
+ public void testAsyncExecutions() {
deployProcess("<process-definition name='execution'>"
+ " <event type='process-end'>"
+ " <action expression='#{eventCallback.processEnd}' />"
- + " </event>"
+ + " </event>"
+ " <start-state>"
+ " <transition to='a' />"
+ " </start-state>"
@@ -254,13 +267,15 @@
private ProcessInstance launchProcess(String processName) {
StartProcessInstanceCommand command = new StartProcessInstanceCommand();
command.setProcessName(processName);
- command.setVariables(Collections.singletonMap("eventCallback", new EventCallback()));
+ command.setVariables(Collections.singletonMap("eventCallback",
+ new EventCallback()));
return (ProcessInstance) commandService.execute(command);
}
private boolean hasProcessEnded(final long processId) {
Boolean isFinished = (Boolean) commandService.execute(new Command() {
private static final long serialVersionUID = 1L;
+
public Object execute(JbpmContext jbpmContext) throws Exception {
return jbpmContext.loadProcessInstance(processId).hasEnded();
}
More information about the jbpm-commits
mailing list