4 Replies Latest reply on Mar 27, 2012 10:57 PM by gigazhang

    Ported jBPMN5 Web Example by bpmn2user to jBPMN5.2

    jemmerling Newbie

      I hope somebody finds this useful and that the original author doesn't take offense!

       

      I ported this example to jBPMN5.2 without otherwise changing the functionality. The instructions to run it (https://community.jboss.org/people/bpmn2user/blog/2011/09/21/jbpm5-web-example) should be the same. I don't believe I changed the set of JARs recommended to be deployed to %TOMCAT_HOME%\lib, but if there is any question, here is what I currently have:

       

      jta-1.1.jar

      annotations-api.jar

      catalina-ant.jar

      catalina-ha.jar

      catalina-tribes.jar

      catalina.jar

      ecj-3.7.jar

      el-api.jar

      jasper-el.jar

      jasper.jar

      jsp-api.jar

      servlet-api.jar

      tomcat-coyote.jar

      tomcat-dbcp.jar

      tomcat-i18n-es.jar

      tomcat-i18n-fr.jar

      tomcat-i18n-ja.jar

      slf4j-api-1.5.2.jar

      slf4j-jdk14-1.5.2.jar

      btm-1.3.1.jar

      h2-1.3.155.jar

      btm-tomcat55-lifecycle.jar

       

      Changes should be self-explanatory and are limited to:

       

      pom.xml

      persistence.xml

      orm.xml

       

      plus you can see some abortive attempts I made to HumanTaskStartupServlet.java to modify this so it would shut down cleanly when Tomcat is shut down (these are commented out and otherwise functionality is not affected). I believe that I will start a discussion of this matter at some future time.

       

      I also added jbpm.usergroup.callback.properties however I didn't determine conclusively if that is truly needed.

       

      Cheers!

        • 2. Re: Ported jBPMN5 Web Example by bpmn2user to jBPMN5.2
          jemmerling Newbie

          Thanks!

           

          After further work on my own version of this, I now understand there was no point at the time to adding the jbpm.usergroup.callback.properties file to the project. I had thought that jBPM5.2 somehow requires it. I am attaching another ZIP file from which this has been removed.

          Good learning experience, though!

           

          Cheers!

           

          --JE

           

          bpmn2user wrote:

           

          Thanks jemmerling .

          I added your post to the blog https://community.jboss.org/people/bpmn2user/blog/2011/09/21/jbpm5-web-example as it will be useful while using jBPM5.2.

           

          • 3. Re: Ported jBPMN5 Web Example by bpmn2user to jBPMN5.2
            Manish khandelwal Newbie

            I am not able to start the tomcat server with given configurations. I have all the given jars in the lib folder as you have mentioned. But when I add this Listener entry, the tomcat server does not start. Without it, I get an error which I have mentioned in https://community.jboss.org/people/bpmn2user/blog/2011/09/21/jbpm5-web-example.

            • 4. Re: Ported jBPMN5 Web Example by bpmn2user to jBPMN5.2
              gigazhang Newbie

              when i clik the button named CreateProcess,tomcat will throw exception like this:

               

              2012-03-28 10:56:43,697 (JDBCExceptionReporter.java:101) ERROR org.hibernate.util.JDBCExceptionReporter - ORA-02291: 违

              反完整约束条件 (DEMO.FK27A9A56CE1EF3A) - 未找到父项关键字

               

              2012-03-28 10:56:43,718 (JDBCExceptionReporter.java:100) WARN  org.hibernate.util.JDBCExceptionReporter - SQL Error: 229

              1, SQLState: 23000

              2012-03-28 10:56:43,721 (JDBCExceptionReporter.java:101) ERROR org.hibernate.util.JDBCExceptionReporter - ORA-02291: 违

              反完整约束条件 (DEMO.FK27A9A56CE1EF3A) - 未找到父项关键字

               

              2012-03-28 10:56:43,740 (AbstractFlushingEventListener.java:324) ERROR org.hibernate.event.def.AbstractFlushingEventList

              ener - Could not synchronize database state with session

              org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

              at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)

              at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)

              at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)

              at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)

              at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168)

              at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:32

               

              at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)

              at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)

              at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)

              at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)

              at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:54)

              at org.jbpm.task.service.TaskServiceSession.doOperationInTransaction(TaskServiceSession.java:716)

              at org.jbpm.task.service.TaskServiceSession.addTask(TaskServiceSession.java:134)

              at org.jbpm.task.service.TaskServerHandler.messageReceived(TaskServerHandler.java:108)

              at org.jbpm.task.service.mina.MinaTaskServerHandler.messageReceived(MinaTaskServerHandler.java:41)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:71

               

              at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:7

               

              at org.apache.mina.filter.codec.ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(ProtocolCodecFilter.java:375

               

              at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:229)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:7

               

              at org.apache.mina.filter.logging.LoggingFilter.messageReceived(LoggingFilter.java:176)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:7

              at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)

              at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)

              at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:638)

              at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:598)

              at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:587)

              at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:61)

              at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:969)

              at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)

              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)

              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)

              at java.lang.Thread.run(Thread.java:662)