Hello, We have experienced a high memory consumption by ODE in scenarios where in-memory processes are invoked with a relatively high frequency. This is caused by the org.apache.ode.bpel.memdao.BpelDAOConnectionImpl which keeps the created instances of MessageExchangeDAOImpl in memory until they exceed the TIME_TO_LIVE (hardcoded constant). This way we have around 400 of these unneeded (at least for us ;-) objects hanging in memory occupying around 30 MB of memory all the time.
So, I would like to ask if this behavior can be changed such that these objects are released as soon as the invoker of the process calls the release() method of the MyRoleMessageExchange object. I've done a quick patch to test this and at least in my test cases it works without a problem. Is there a reason why these objects should be kept in memory after explicitly telling the engine that the data can be released? I can produce a diff for this change (have to port it to the current trunk first). I'm not sure that I did it the right way, though, but I can try to improve it. Yours, Jürgen Committer for the Eclipse SMILA project http://www.eclipse.org/smila
