12 Replies Latest reply on Apr 2, 2009 5:27 AM by Dejan Košak

    Don't see running process in JBPM

    Dejan Košak Newbie

      Hi,

      I am working on test project with JBoss jBPM, SEAM on JBoss 4.2.3 Server using ORACLE DB.
      Everything is working just fine, except this...

      I deploy my application (which include jBPM preces definition) on server and run it via Firefox. My application works just fine as well as process in it.
      BUT
      When I go to check it in jbpm-console, I don't see nothing until I restart server. After restart I can see process.

      What I am searching for is how to see (in jbpm-console) what is happening in my application (with my process) in real-time.
      Assume that I am running my application and at some point in process execution I open jbpm-console. I would like so see process image and where exactly my process is at.

      Thanks for any suggestion...
      Dejan

        • 1. Re: Don't see running process in JBPM
          Stefano Ferrante Newbie

          hi Dejan,

          i'm not an expert of JBPM, but i think you don't deployed the ".par" archive for the process.
          And to deploy the process you have to use the servlet uploader (never used ) or the link inside the jbpm console to deploy it.
          I always used the console to deploy a new process.
          So, if i'm not wrong , you deployed only the webapp at this moment and not the process.

          • 2. Re: Don't see running process in JBPM
            Dejan Košak Newbie

            Thanks for answer Toriton,

            yes, I don't deploy .par file. I have process definition in subfolder of EJB folder and process definition is deployed, but process image is not. So I am not able to see it when I go to jbpm-console.

            And as I said, if I want to see current processes I have to restart server. I cannot see actual situation straith away, as I test application.

            Thank you!

            • 3. Re: Don't see running process in JBPM
              Dejan Košak Newbie

              OK...

              Now I managed to deploy process with picture via "my application".

              Problem that still remains is that I don't see current process activity in jbpm-console. I have to restart server to see that process in jbpm-console.

              • 4. Re: Don't see running process in JBPM
                Dejan Košak Newbie

                I am searching the web about this feature and nothing. I start to doubt if this is possible with jBPM!

                So one more time, my SCENARIO:
                Broswer no.1 -> My application running some process.

                Broswer no.2 -> Inspecting workflow of process (running on Broswer 1.) in jbpm-console.


                And I want it real-time. So when process enters into some task, I want to see that on image in jbpm-console.

                Please tell me if this is possible or not.

                Thanks!

                • 5. Re: Don't see running process in JBPM
                  Joram Barrez Master

                  This certainly is possible. If the console and your webapp are pointing to the same database, there should be no problem.

                  My wild guess is that something fishy is going on with your transactions. The console can't see the data because it is uncommitted. And for a strange reason, closing your server commits the data ...

                  • 6. Re: Don't see running process in JBPM
                    Ronald van Kuijk Master

                    that is my impression to. And real-time is 'near real time'. You need to refresh the image page. (e.g. no ajax 'push' there)

                    • 7. Re: Don't see running process in JBPM
                      Dejan Košak Newbie

                      Thanks for help!
                      Hmm...

                      Exactly, something strange is happening with commiting the data. It is same DB (Oracle).

                      The application it self shouldn't be a problem as if is very simplified.

                      Process definition looks like this:
                      <process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="proces">

                      <start-state name="start">

                      </start-state>
                      <task-node name="opravilo3">

                      <assignment actor-id="#{actor.id}" />



                      </task-node>
                      <task-node name="opravilo4">

                      <assignment actor-id="#{actor.id}" />



                      </task-node>
                      <end-state name="error" />
                      <end-state name="end" />
                      </process-definition>



                      And class:
                      @Name("opravilo")
                      public class Opravilo
                      {

                      @CreateProcess(definition="proces")
                      public void startProcess() {
                      System.out.println("Start Proces...");
                      }
                      @StartTask
                      @EndTask(transition="next")
                      public void done() {
                      }
                      @StartTask
                      @EndTask(transition="cancel")
                      public void cancel() {
                      }
                      }

                      Any clues?

                      Thanks

                      • 8. Re: Don't see running process in JBPM
                        Dejan Košak Newbie

                         

                        "kukeltje" wrote:
                        that is my impression to. And real-time is 'near real time'. You need to refresh the image page. (e.g. no ajax 'push' there)


                        Yes, I am aware of that, thanks!

                        It is strange that I don't even see a process instance in console until I restart server.

                        • 9. Re: Don't see running process in JBPM
                          Dejan Košak Newbie

                          I have checked, and DB receive data when I stop the server. Before that no data is commited.

                          • 10. Re: Don't see running process in JBPM
                            Joram Barrez Master

                            - What transactionManager are you using?

                            - Is jBPM configured properly for Seam? (see http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/seam/Seam_Reference_Guide/Configuring_Seam_and_packaging_Seam_applications-Configuring_jBPM_in_Seam.html)

                            - How is the transaction management configured in Seam?

                            • 11. Re: Don't see running process in JBPM
                              Dejan Košak Newbie

                              jBPM is properly configured for seam.

                              This is the code form jboss-service.xml.

                              <!--
                              ==================================================================== -->
                               <!-- Transactions -->
                               <!-- ==================================================================== -->
                              
                               <!-- JBossTS JTA -->
                               <mbean code="com.arjuna.ats.jbossatx.jta.TransactionManagerService"
                               name="jboss:service=TransactionManager">
                               <attribute name="TransactionTimeout">300</attribute>
                               <attribute name="ObjectStoreDir">${jboss.server.data.dir}/tx-object-store</attribute>
                               </mbean>
                              
                               <mbean code="org.jboss.util.threadpool.BasicThreadPool"
                               name="jboss.jca:service=WorkManagerThreadPool">
                               <!-- The name that appears in thread names -->
                               <attribute name="Name">WorkManager</attribute>
                               <!-- The maximum amount of work in the queue -->
                               <attribute name="MaximumQueueSize">1024</attribute>
                               <!-- The maximum number of active threads -->
                               <attribute name="MaximumPoolSize">100</attribute>
                               <!-- How long to keep threads alive after their last work (default one minute) -->
                               <attribute name="KeepAliveTime">60000</attribute>
                               </mbean>
                              
                               <mbean code="org.jboss.resource.work.JBossWorkManager"
                               name="jboss.jca:service=WorkManager">
                               <depends optional-attribute-name="ThreadPoolName">jboss.jca:service=WorkManagerThreadPool</depends>
                               <depends optional-attribute-name="XATerminatorName">jboss:service=TransactionManager</depends>
                               </mbean>
                              
                               <!--
                               | The CachedConnectionManager is used partly to relay started UserTransactions to
                               | open connections so they may be enrolled in the new tx.
                               -->
                               <mbean code="org.jboss.resource.connectionmanager.CachedConnectionManager"
                               name="jboss.jca:service=CachedConnectionManager">
                               <depends optional-attribute-name="TransactionManagerServiceName">jboss:service=TransactionManager</depends>
                              
                               <!-- Enable connection close debug monitoring -->
                               <attribute name="Debug">true</attribute>
                              
                               </mbean>


                              Does it help you? Or where should I look for this.

                              • 12. Re: Don't see running process in JBPM
                                Dejan Košak Newbie

                                Still struggling with this one.

                                Now I work with process definition that is already in Oracle DB. So I create new instances of process or manipulate existing ones.

                                Still I am not getting data, that is changed within application, saved in DB until I don't restart Jboss server.
                                example:
                                I log in in my application and am able to se my current process instances. But f I change existing one (go to next task) or create new instance, nothing is seen in DB...until I restart server.

                                On the other hand if I correct some data directly in DB and I refresh my application I get new data.


                                There must be some cache which I don't know how to handle on process changes!?!


                                I would appreciate some example of similar working app. or some hint...