my good friend Gunther asked me this question about jbpm clustering: anonymous wrote : "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 :) View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3921507#3921507 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3921507 ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ JBoss-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jboss-user
