Processes within main process in jbpm 4.3
March 4th, 2010
Probably due to my endless wanderings in jbpm 4.3, I’ve ran into what seems to be a limitation that I haven’t encountered in jbpm 3.2.
I’ve described it in detail in jboss forum and tried to give a few attempts to answer it.
However, I don’t like any of my answers there:
- Dropping a constrain on a table is outright wrong
- Fudging jbpm code won’t survive any updates
- Providing my own implementation would’ve been an elegant attempt except for the fact that it was wrong – PVM was persistent in its preferences and insisted on talking to ExecutionImpl directly ignoring my subclass
It did seem that the problem would’ve been eliminated by doing a few minor changes to the ExecutionImpl class: that would’ve avoided the db constrain problem and eliminated an additional update issued against the table.
So I ended up by bringing ExecutionImpl.java into my project and doing the following:
- in #initializeProcessInstance method, removed a call to composeIds()
- in #save(), added a cal to composeIds() before dbSession.save()
The downside to it is composeId() being called twice for createExecution(), but I’ll worry about this later.
