I looked at this problem for quite some time but did not use a profiler. I
discovered that my development system did not seem to fail (I never got it
to fail) when I did not disable the cache as indicated in Howards post. The
development system was running jetty. The other systems ran tomcat and were
still failing when the tapestry cache was not disabled. I then started
looking at my other Spring code and caching there but could not find any
problems. The OutOfMemoryError's always occurred during render after the
data had been obtained from the database. What was interesting is when I
added a some test code (so that the number of tapestry pages increased) the
code that failing before over so many renders failed quicker. I monitored
memory that was being used by tomcat and decided that by increasing the
default memory allocated to tomcat I would not run out of memory. Having
said all this I re-wrote the page anyway as suggested to have only a hundred
items rendered and paged the results.
After reading around the subject my conclusion was that it was just a
resource allocation issue in tomcat. But what I could not understand was
that with the tapestry cache turned on why would I not get the same page
instance and the page render should not take any more resources.
What you have found confirms my problem with the jetty development system
with cahing re-enabled but I still do not understand the production tomcat
system.
Paul
Patrick Casey <[EMAIL PROTECTED]> wrote:
Shouldn't the old ones go out of scope though and get gc'd?
--- Pat
-----Original Message-----
From: Howard Lewis Ship [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 06, 2005 9:52 AM
To: Tapestry users; [EMAIL PROTECTED]
Subject: Re: OutOfMemoryError Tapestry 4.0
That might be reasonable if you are running with
-Dorg.apache.tapestry.disable-caching=true
With caching disabled, Tapestry has to constantly create new enhanced
subclasses for every page and every component.
<snip>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]