3 Replies Latest reply on Jun 20, 2008 10:53 PM by mtorres

    jBPM for both pageflow and processdefinition

    frankyb

      Hello,


      I'm facing some conflicts when using jBPM both for pageflow and process definition with Seam.


      The first thing was this: link to old forum .
      So you really can't use annotations when using a pageflow?


      The second and more several problem is the following: when I try to start a process within a pageflow (no difference if using @CreateProcess or the API directly), I get the exception you can see below. Without the pageflow, when navigation is handled via pages.xml, everything works fine. And when I disable process creation, the pageflow itself also works.


      Are there any suggestions concerning the usage of jBPM for both pageflow and processdefinition in Seam? Or is it rather NOT recommended to use both at the same time? I could not find an example explaining this combination.



      Here is the exception:


      Hibernate: select processins0_.ID_ as ID1_16_0_, processins0_.VERSION_ as VERSION2_16_0_, processins0_.KEY_ as KEY3_16_0_, processins0_.START_ as
      START4_16_0_, processins0_.END_ as END5_16_0_, processins0_.ISSUSPENDED_ as ISSUSPEN6_16_0_, processins0_.PROCESSDEFINITION_ as PROCESSD7_16_0_, p
      rocessins0_.ROOTTOKEN_ as ROOTTOKEN8_16_0_, processins0_.SUPERPROCESSTOKEN_ as SUPERPRO9_16_0_ from JBPM_PROCESSINSTANCE processins0_ where proces
      sins0_.ID_=?
      
      ...
      this message is repeated very often
      ...
      
      Hibernate: select processins0_.ID_ as ID1_16_0_, processins0_.VERSION_ as VERSION2_16_0_, processins0_.KEY_ as KEY3_16_0_, processins0_.START_ as
      START4_16_0_, processins0_.END_ as END5_16_0_, processins0_.ISSUSPENDED_ as ISSUSPEN6_16_0_, processins0_.PROCESSDEFINITION_ as PROCESSD7_16_0_, p
      rocessins0_.ROOTTOKEN_ as ROOTTOKEN8_16_0_, processins0_.SUPERPROCESSTOKEN_ as SUPERPRO9_16_0_ from JBPM_PROCESSINSTANCE processins0_ where proces
      sins0_.ID_=?
      2008-03-11 11:35:03,678 ERROR [org.jboss.seam.jsf.SeamPhaseListener] uncaught exception
      java.lang.NullPointerException
              at org.jboss.seam.bpm.BusinessProcess.hasActiveProcess(BusinessProcess.java:62)
              at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:347)
              at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:112)
              at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:515)
              at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:247)
              at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
              at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
              at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
              at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
              at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
              at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
              at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
              at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:73)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
              at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
              at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
              at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
              at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
              at org.mortbay.jetty.Server.handle(Server.java:313)
              at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
              at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
              at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
              at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
              at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
              at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
              at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
      2008-03-11 11:35:03,693 ERROR [org.jboss.seam.jsf.SeamPhaseListener] swallowing exception
      java.lang.NullPointerException
              at org.jboss.seam.bpm.BusinessProcess.hasActiveProcess(BusinessProcess.java:62)
              at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:347)
              at org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:112)
              at org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:515)
              at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:247)
              at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
              at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
              at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
              at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
              at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
              at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
              at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
              at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:73)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
              at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
              at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
              at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
              at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
              at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
              at org.mortbay.jetty.Server.handle(Server.java:313)
              at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
              at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
              at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
              at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
              at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
              at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
              at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)


        • 1. Re: jBPM for both pageflow and processdefinition
          frankyb

          Well, it was my fault :(


          I had a backing bean method attachted to a transition and also called it as action on a button click.

          • 2. Re: jBPM for both pageflow and processdefinition
            svaede

            Could you give a description on how you have include a processs definiton in a pageflow, please? I have problems with this issue and get a:


            ERROR [org.jbpm.jpdl.xml.JpdlXmlReader] couldn't parse process definition
            java.lang.NullPointerException
            


            error when i deploy my process definition to the server.


            thx sören

            • 3. Re: jBPM for both pageflow and processdefinition
              mtorres

              I think I saw this error before, its when the process-definition config in component.xml does not point to the correct file.



              <bpm:process-definitions>          
              <value>process.jpdl.xml</value>
              </bpm:process-definitions>
              



              The value is resolved against your classpath.


              Also, if you have a slash like so, /process.jpdl.xml, jbpm does not seem to find it.