-
1. Re: jbpm in a cluster
ralfoeldi Dec 29, 2005 4:21 PM (in response to new4jboss)jBPM is a state machine. If a cluster node fails while executing some external trigger (ui, timer, jms, whatever) execution will stop and have to be started again.
Depending on the transaction context you're in this could be done automatically (redelivered jms, re-executed timer), require ui interaction (error message for user if cluster node goes down requesting repeat) ot whatever depending on the initial trigger.
Failovers will also depend on how secure your workflow state is persisted and what kinds of actions are used (sending a smtp mail isn't usually transactional - though even this can be solved.)
The short version: you can use jBPM to build a fully failsafe, clusterable hotfailover worklfow solution (that's the project I've just completed). But it doesn't come out of the box. You will have to invest a fair amount of effort.
Greetings
Rainer -
2. Re: jbpm in a cluster
enazareno Dec 30, 2005 2:15 AM (in response to new4jboss)Hi Rainer,
Speaking of clusters, I am just curious. What is your strategy of synchronizing your dates? Do you synchronize each clustered server's date using an OS facility? I am not familiar with this approach. Our strategy here is to assign one server to act as a date server. I am asking bec. if I run jbpm in a clustered environment, I may have different dates in different machines. Maybe our strategy is primitive, be glad if you can share. Thanks.
Regards,
Elmo -
3. Re: jbpm in a cluster
ralfoeldi Dec 30, 2005 3:26 AM (in response to new4jboss)Hi Elmo,
my strategy is even more primitive. Its the SEP ("Someone else's problem") - strategy :-)
I just trust the admin guys to get their cluster coordinated - they might as well be good for something :-). If I do need a time coordination it's usually the database (sysdate). If you use sysdate when setting and retrieving / querying it mostly works out.
If you have a truely distributed application (as in distributed over more than one timezone) you might want to use Calendar with correct TimeZones etc. Then you have local times (send mail at 09:00 localtime) as well as coordinated system times. But that isn't always fun to do.
I guess that all this won't help you.
Greetings
Rainer -
4. Re: jbpm in a cluster
enazareno Jan 1, 2006 12:36 AM (in response to new4jboss)Hi Rainer,
Thanks for your info. Yes we do query dates from the database instead of the usual java.util.Date. Usually dates only become a problem if there's a (business) problem they are tyring to solve. When tracing transactions (like fraudulent ones) and they see our dates our out of sync, it's goodbye to us :(.
We also found out, we can't use NOW()/DATE() functions with INSERT/UPDATE with the database (MySQL) because we're replicating databases. So I guess I won't be running jbpm in different machines for the moment, or else, I have to edit the code (IMHO, I really dont want to do that and mess up the code). I do hope they come up with a facility or an option for us to specify where we get our dates, or if there is, I would like to know how to do that. Thanks again for your time.
Regards,
Elmo