No. I have tried to do so, but it appears to be an issue when Hibernate tries to update SessionInfo shared by more than one node. It fails to commit the transaction if the entity has been updated by another node. The exception is as follows:
Hibernate: update SessionInfo set lastModificationDate=?, rulesByteArray=?, startDate=?, OPTLOCK=? where id=? and OPTLOCK=?
Sep 7, 2011 10:39:34 PM org.drools.persistence.jta.JtaTransactionManager commit
WARNING: Unable to commit transaction
javax.persistence.OptimisticLockException
: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.drools.persistence.info.SessionInfo#1
Something like Terracotta should help to cluster Knowledge Session as it has a potential to instrument the byte code and introduce the necessary locking mechanism to make the shared objects "thread"-safe even for threads running in different JVMs.
Has anybody tried and succeeded integrating jBPM5 with Terracotta?