3 Replies Latest reply on Oct 17, 2006 9:12 PM by arshadnj

    jbpm in a cluster

    tom.baeyens

      my good friend Gunther asked me this question about jbpm clustering:

      "jBPM workflow process descriptions and runtime status are persisted to a database but in a cluster they are not automatically failed-over, which makes sense once you realize that some processing steps may not be idempotent.

      Therefore, while the process description is persistent, workflow failover must be performed manually. jBPM can be used to build a fully failsafe, clusterable hotfailover worklfow solution ? but it doesn't come out of the box, for that a fair amount of effort has to be allocated."

      is that true?


      For adding fail over to jBPM and process invocations, the easiest way to do that is to create a SLSB session facade. Then you have to make sure that you apply a locking strategy to the db.

      jBPM 3.1 will have optimistic locking out of the box using the hibernate version attribute in the runtime process instance data. But be warned, this is not tested extensively.

      An alternative locking strategy can be to use the jbpmContext.lock method for pessimistic locking. that could/should be built into the session facade.

      While jBPM 3 is already clusterable, it is our goal to improve on the out of the box support by adding an EJB and simple deployment instructions over time.

      regards, tom.

      ps. yes gunther, this is going to cost you a beer next time we meet :)

        • 1. Re: jbpm in a cluster
          ralfoeldi

          Tom,

          even jBPM 3.0.1 works splendid in a cluster. You just have to take the same precautions as with any other clustered app with failover and all bells and whistles.

          And if it's worth anything to you, I've just (literally 30 minutes ago) deployed a fairly large (volume wise) clustered app and everybody is happy.

          Have a nice weekend.

          Rainer

          • 2. Re: jbpm in a cluster
            tom.baeyens

            hi rainer,

            can you send me an email at tom-dot-baeyens-at-jboss-dot-com so that i have your current email address ? i tried sending you an email, but maybe it didn't arrive...

            regards, tom.

            • 3. Re: jbpm in a cluster
              arshadnj

              Hello,

              Wondering how timers work in a clustered tomcat/spring situation? Our architecture involves couple of tomcat servers bundled with spring based application. The application uses spring modules for its configuration and we use the JBPMTemplate for our interaction with JBPM.

              Thanks,
              Arshad