[
https://issues.apache.org/jira/browse/ODE-395?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jürgen Schumacher updated ODE-395:
----------------------------------
Attachment: inmemory-mexdao-release.patch
Extends BpelDAOConnection with a releaseMessageExchange(String mexId) method
that is called by MessageExchangeImpl via ODEProcess in the release method.
This releaseMessageExchange method is implemented only in the memdao
implementation of the interface, the jpa and hibernate methods do nothing.
> MessageExchangeDAOs of in-memory processes are kept in memory despite
> release()
> -------------------------------------------------------------------------------
>
> Key: ODE-395
> URL: https://issues.apache.org/jira/browse/ODE-395
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 1.3
> Reporter: Jürgen Schumacher
> Attachments: inmemory-mexdao-release.patch
>
>
> 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.
> I've created a patch that removes the MessageExchangeDAO objects from the
> in-memory BpelDAOConnection as soon as the invoker of the process calls
> release() on its MyRoleMessageExchange object. It's probably too simplistic,
> but in my test cases it works without a problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.