jbpm uses the exact same approach. use the db as a locking mechanism.
you can start developing with jbpm 3.1. all is in there. but we had some problems reported on the asynchronous stuff like timers and asynchronous continuations. therefor we redesigned the timers and messaging from scratch. in 3.2 (planned around newyear) optimistic locking is used to update the lockowner in a row. this has proven to work even with hypersonic (isolation level 0).