cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reinhard Poetz <>
Subject Continuation invalidation strategies
Date Sun, 02 Oct 2005 13:16:03 GMT wrote:
> Author: reinhard
> Date: Sun Oct  2 05:32:38 2005
> New Revision: 293102
> URL:
> Log:
> make ContinuationsManagerImpl extensible so that it is possible to implement your own
continuations invalidation strategy

Has anybody else experienced memory problems when using continuations? It's not 
a memory leak per se but a problem if there are too many active continuation 
trees. All objects that are linked to a continuation tree can only be garbage 
collected when the *last continuation* of a tree has expired.
If you implement a flow that uses some heavy-weight business objects and you 
can't put them into global variables you soon run into problems if this flow is 
executed many times by your users.

So I started to experiment with different continuation invalidation strategies 
than the the dfeault time-based one.

I started with a first strategy that keeps only one active continuation tree per 
user (thanks to Leszek and his work on the session-based continuation holders 
this was very simple). Another strategy could be that there is only a certain 
number of active continuations allowed per user. Or a third option that I could 
think of is that only one tree per flow (function) is allowed per user.

Do these different invalidation strategies make sense at all? If yes, are others 
interested in seeing them in our code base? WDYT?

Reinhard Pötz           Independent Consultant, Trainer & (IT)-Coach 

{Software Engineering, Open Source, Web Applications, Apache Cocoon}


Was denken Sie über E-Mail? Wir hören auf Ihre Meinung:

View raw message