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.

Share with community:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Slashdot
  • StumbleUpon
  • Technorati
  • email
  • Print

  1. No comments yet.
  1. No trackbacks yet.