Bernd Rücker wrote:
Serializing Java Objects for persistence is never a good
idea! Independent of what you do. Never!
Ok, luckily we're not doing that then ;)
Just to be clear, each process instance is stored as one row in the
database. It is the process instance id, some meta data linked to it
(so it can be searched for the use cases we believe it should be used
for) and then a custom binary representation that contains the runtime
state of that process instance. So definitely not depending on default
Java serialization, which obviously would cause several issues.
The other relevant fact is that we believe that an end user should not
be querying your runtime infrastructure for things like monitoring and
reporting. The runtime engine only contains the minimal state needed to
continue execution afterwards. The history log is needed for things
like monitoring and reporting. And that has an "open persistence" and
is even completely customizable, as we believe you should decide what
info (and how) to store.
So my point is: you shouldn't be looking at our internal engine for the
use case you're describing, and we even prefer you wouldn't (while it's
still possible of course), we created a history log for that
specifically. Or am I missing any use cases here?
Kris