[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