1. This is absolutely possible to have JBPM not to interfere with your db schema. In fact, by default JBPM will not be dependent on any of your db tables.
2. This can be done easily. But this is not a JBPM feature. This is a JTA feature. You can have two XA Datasources, one for your application and one for JBPM and then the transaction manager will use 2 phase commit to make sure either both are committed or both are rolled back.
3. It does.
1: yes, either with its own or shared transaction 2: like you would in any other distributed app. e.g. using rmi and sharing a transaction 3: yes but it does not rely on e.g. jboss clustering. jBPM uses a shared database
wow... almost an inflight collision :-)
Thank everybody for answers
3: yes but it does not rely on e.g. jboss clustering. jBPM uses a shared database
Does it mean developer can configure 2 level cache implementation or even turn off it? And are there any internal JBPM caches that should be configured in cluster environment.
No jBPM caches, and 2nd level cache can be used e.g. in a clustered way if you want. By default second level cache is only used for processdefinitions afaik in a read-only way