Details
-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
None
Description
Setting:
- 2 engine; "tenant1" and "tenant2"; both access different database schemas
- Start a process instance on "tenant1"
- the process contains a delegate that starts a process on "tenant2"
Expected behavior:
- starting the process instance suceeds
Current behavior:
- starting the process instance fails because the process definition cannot be found
Reason:
- the "tenant2" engine cannot access its datasource but works in the current transaction started by the "tenant1" engine
- This is because the service methods use the "txRequired" command interceptor chain that only opens a new CommandContext (and therefore transaction), if there is no active context yet
Solution idea:
- also create a new CommandContext if the current engine is a different one than the one that opened the current CommandContext (or alternatively: if there exists no active CommandContext associated with the current engine)