On 27.03.2008 04:39, Torsten Curdt wrote:
Sure, here is the hierarchy from bottom to top. At this point, I ran
the test for about five
minutes (running longer would increase the percentage) and the
retained size of the one
ContinuationsManagerImpl object is 58% of the total. The
BufferedOutputStream is 50% of the
total, so the other 8% is consumed by the objects in between.
org.apache.cocoon.util.BufferedOutputStream
secureOutputStream of
org.apache.cocoon.environment.http.HttpEnvironment
env of
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor$TreeProcessorRedirector
redirector of
org.apache.cocoon.components.flow.java.ContinuationContext
What I was so much concerned about here was the fact of storing the
whole environment in the continuation, especially since we have this
non-flushing BufferedOutputStream at the end. Is there any point in
storing the environment? Do we get anything useful out of it after
continueing the continuation?
What do you mean by "environment" ...it's not like the whole jvm is
stored but only the flow. External resources should be injected (vs
stored) as much as possible.
Just have a look at the quote from the original. It gives the object
relationships in the memory. BufferedOutputStream takes 50% and is hold
in HttpEnvironment which is hold in TreeProcessorRedirector which is
hold in ContinuationContext. I wondered why it is there.
Joerg