6 Replies Latest reply on Aug 11, 2006 8:32 AM by Ronald van Kuijk

    about process-state

    tue tran the trong Newbie

      Who help me about process-state?
      structure of process state as:
      <process-state name="go">
      <sub-process name="simple"/>
      <variable name="a" access="read,write" mapped-name="aa" />
      <variable name="b" access="read,write" mapped-name="bb" />

      </process-state>
      i want know " what is <sub-process name=simple>" and where must i place process "simple" ?

        • 1. Re: about process-state
          Roy Forever Newbie

          Hi Remider,

          In my understanding of jBPM, the "simple" is the name of process.
          In other word, you should deploy a process named "simple" into jBPM before execute your process "go".

          Roy

          • 2. Re: about process-state
            tue tran the trong Newbie

            Hi Roy!
            i am think so, too. However, when run, it has a error:
            type Exception report

            message

            description The server encountered an internal error () that prevented it from fulfilling this request.

            exception

            javax.servlet.ServletException: Error calling action method of component with id taskform:transitionButton
            javax.faces.webapp.FacesServlet.service(FacesServlet.java:109)
            org.jbpm.webapp.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:55)
            org.jbpm.web.JbpmContextFilter.doFilter(JbpmContextFilter.java:83)
            org.jbpm.webapp.filter.LogFilter.doFilter(LogFilter.java:59)
            org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)

            root cause

            javax.faces.FacesException: Error calling action method of component with id taskform:transitionButton
            org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)
            javax.faces.component.UICommand.broadcast(UICommand.java:106)
            javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90)
            javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164)
            org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:271)
            org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)
            javax.faces.webapp.FacesServlet.service(FacesServlet.java:94)
            org.jbpm.webapp.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:55)
            org.jbpm.web.JbpmContextFilter.doFilter(JbpmContextFilter.java:83)
            org.jbpm.webapp.filter.LogFilter.doFilter(LogFilter.java:59)
            org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)

            Code for my process state is:
            <process-state name="xuly">
            <sub-process name="simple"/>
            < transition name="" to="task1 < /transition>
            </process-state>

            although i deloyed "simple" process.
            you can help construct process state, thank a lot.
            or someone has used process state successfully, can help me, please.
            i don't know where prolem is.
            Remid

            • 3. Re: about process-state
              Roy Forever Newbie

              Hi Remid,

              Let me give you my example for reference.
              In the example, it is actual 2 processes.
              And you should deploy them one by one.

              <?xml version="1.0" encoding="UTF-8"?>
              <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="SubProcess">
               <swimlane name="Initiator"></swimlane>
               <start-state name="Start SubProcess">
               <task swimlane="Initiator"></task>
               <transition to="InvokeTimeout"></transition>
               </start-state>
               <process-state name="InvokeTimeout">
               <sub-process name="InnerProcess"></sub-process>
               <transition to="End"></transition>
               </process-state>
               <end-state name="End"></end-state>
              </process-definition>
              


              <?xml version="1.0" encoding="UTF-8"?>
              
              <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="InnerProcess">
               <swimlane name="Roy">
               <assignment expression="user(Roy)"></assignment>
               </swimlane>
               <start-state name="Start InnerProcess">
               <task swimlane="Roy"></task>
               <transition to="Done"></transition>
               </start-state>
               <task-node name="Done">
               <task swimlane="Roy"></task>
               <transition to="End"></transition>
               </task-node>
               <end-state name="End"></end-state>
              </process-definition>
              


              Roy

              • 4. Re: about process-state
                tue tran the trong Newbie

                Hi Roy,
                i finished it and undersranded. Thanks a lot.
                Remid

                • 5. Re: about process-state
                  none of your business Newbie

                  Hi erverbody!

                  I've got a similar problem. I've created to process definitions. One includes a process state that should start the other process. I deployed both definitions and I can see them in the database.
                  However when I start the super process i get the followin message:

                  [WARN ] [11 Aug 2006 10:54:25,217] [main] org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog.Narrowing proxy to class org.jbpm.graph.node.StartState - this operation breaks ==

                  The super process instance is created. But the first call to signal() results in an exception. When I analyse the database i see that also the root token has been created. Unfortunately, it never leaves the start state of my super process (the log table in the database shows only a line with the token id and class "I" but no more occurences of the same token).

                  My processes are:

                  <?xml version="1.0" encoding="UTF-8"?>
                  
                  <process-definition xmlns="urn:bearingpoint.com:pdl-3.1"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   name="SuperFlow">
                  
                   <!-- GENERAL PART OF EVERY PROCESS DEFINITION -->
                   <!-- This general action has to be present in order to use the sla functionality -->
                   <action name="slaAction"
                   class="com.bearingpoint.infonova.workflow.jbpm.SlaActionHandler" />
                  
                   <!-- Needed for retry/wait message cleanup after a node is finished -->
                   <event type="node-leave">
                   <action name="nodeLeaveAction"
                   class="com.bearingpoint.infonova.workflow.jbpm.NodeLeaveActionHandler" />
                   </event>
                  
                   <start-state name="start">
                   <transition name="" to="prior sub-process"></transition>
                   </start-state>
                   <end-state name="end"></end-state>
                   <node name="prior sub-process">
                   <transition name="" to="callSubProcess"></transition>
                   </node>
                   <node name="after sub-process">
                   <transition name="" to="end"></transition>
                   </node>
                   <process-state name="callSubProcess">
                   <sub-process name="SubFlow"></sub-process>
                   <transition name="" to="after sub-process"></transition>
                   </process-state>
                  
                  </process-definition>

                  <?xml version="1.0" encoding="UTF-8"?>
                  
                  <process-definition xmlns="urn:bearingpoint.com:pdl-3.1"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   name="SubFlow">
                  
                   <!-- GENERAL PART OF EVERY PROCESS DEFINITION -->
                   <!-- This general action has to be present in order to use the sla functionality -->
                   <action name="slaAction"
                   class="com.bearingpoint.infonova.workflow.jbpm.SlaActionHandler" />
                  
                   <!-- Needed for retry/wait message cleanup after a node is finished -->
                   <event type="node-leave">
                   <action name="nodeLeaveAction"
                   class="com.bearingpoint.infonova.workflow.jbpm.NodeLeaveActionHandler" />
                   </event>
                   <node name="sub-node 1">
                   <transition name="" to="sub-node 2"></transition>
                   </node>
                   <node name="sub-node 2">
                   <transition name="" to="sub-node 3"></transition>
                   </node>
                   <node name="sub-node 3">
                   <transition name="" to="end1"></transition>
                   </node>
                   <start-state name="start">
                   <transition name="" to="sub-node 1"></transition>
                   </start-state>
                   <end-state name="end1"></end-state>
                  </process-definition>


                  Anyone had this problem as well?
                  Or any ideas what this error message means?

                  Thanks a million!
                  roman

                  • 6. Re: about process-state
                    Ronald van Kuijk Master

                    the message you get is a WARNING and can be safely ignored.

                    If you get an error, please post the stacktrace of that error, we cannot guess.