Isn't the OP's problem a bit more subtle? He doesn't run out of
memory on the *initial* load, so one full page fits in memory. Its repeated
loads of the page that eventually run him out of memory, isn't it (implying
a memory leak)? Or did I misread his original problem?

        --- Pat

> -----Original Message-----
> From: Howard Lewis Ship [mailto:[EMAIL PROTECTED]
> Sent: Monday, September 26, 2005 11:45 AM
> To: Tapestry users
> Subject: Re: OutOfMemoryError Tapestry 4.0
> 
> The likely difference is how Tapestry renders the page; it will buffer
> the contents in memory (a consequence of the Body component) before
> streaming the entire result to the user.  If your page does not use
> any JavaScript, then you should be able to build it without the Body
> component and the results will stream out like a Struts/JSP app.
> 
> However, use a Table component and make those 5000 rows navigate as
> 100 pages of 50 rows and your users will thank you!
> 
> On 9/26/05, seloha . <[EMAIL PROTECTED]> wrote:
> > Thanks ausias,
> >
> > I have thought about reducing the number of objects but a prvious
> version of
> > the app written with struts was able to display many more thn 5000 lines
> > with no problem. A rethink on presentation may be a good idea. Also
> > providing the container with more memory may help.
> >
> > Thanks again,
> >
> > Paul
> >
> > ausias vives <[EMAIL PROTECTED]> wrote:
> >
> > Hi,
> >
> > In my experience, the problem you're describing is not
> > related directly with Tapestry, It looks like more as
> > a standard problem with the available memory in the
> > servlet container.
> >
> > I'll try to avoid returning 5000 objects at the same
> > time, depending on the size of the objects this can be
> > a large amount of memory, ant thus it can use all the
> > jetty or tomcat available memory. You can use a
> > browser to avoid returning all the objects at the same
> > time.
> >
> > If you really need all those objects at the same time,
> > you should allow the servlet container to use more
> > memory (even though is always a good idea to increase
> > the server memory).
> >
> > Definetly I recommend you to rethink the way the
> > results are presented to the user (think about having
> > 10 users getting 5000 objects each of them... or even
> > more)
> >
> > Regards
> >
> > >I have a page which allows a user to search the
> > >database based on various criteria. I have restricted the number of
> > >returned
> > >items to 5000. I display the items in the same search page using the
> @For
> > >component with volatile="ognl:true" . Repeated searches which
> > >return 5000 items will result in an OutOfMemoryError exception. If I
> leave
> > >the
> > >page and then return or stay on the page I will ultimately get an
> > >OutOfMemoryError exception.
> > >
> > >I can view other pages after this exception but a
> > >repeat of trying to display 5000 items on this page will display an
> > >OutOfMemory exception.
> > >
> > >The only way to clear this problem is to restart the
> > >servlet container. This fails using either Jetty or Tomcat in both
> > >development and production environments (using different operating
> > >systems).
> > >
> > >All the variables displaying the list are explicitly
> > >declared in the .page specification and using initial-value set to
> null.
> > >
> > >I am using Tapestry 4.0 beta 8.
> > >
> > >The data is retrieved using Spring and Hibernate (no
> > >fancy patterns, standard Spring declarative transactions and using
> > >getHibernateTemplate()) and mapped to Tapestry using hivemodule.xml:
> > >
> > >   <implementation
> > >
> > service-id="hivemind.lib.DefaultSpringBeanFactoryHolder">
> > >     <invoke-factory>
> > >       <construct autowire-services="false"
> > >
> > class="uk.co.cymbol.tair.tapestry.AppSpringBeanFactoryHolderImpl">
> > >         <event-listener
> > >service-id="hivemind.ShutdownCoordinator" />
> > >         <set-object property="context"
> > >value="service:tapestry.globals.WebContext" />
> > >       </construct>
> > >     </invoke-factory>
> > >   </implementation>
> > >
> > >and injecting the appropriate Spring bean.
> > >
> > >I am completely confused as to how to tie down the
> > >problem and isolate which section of code is causing the problem.
> > >
> > >Any help would be much appreciated.
> > >
> > >Paul
> > >
> > >
> > >
> > >
> > ---------------------------------------------------------------------
> > >To unsubscribe, e-mail:
> > >[EMAIL PROTECTED]
> > >For additional commands, e-mail:
> > >[EMAIL PROTECTED]
> > >
> > >
> >
> >
> >
> >
> > ___________________________________________________________
> > To help you stay safe and secure online, we've developed the all new
> Yahoo!
> > Security Centre. http://uk.security.yahoo.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> 
> --
> Howard M. Lewis Ship
> Independent J2EE / Open-Source Java Consultant
> Creator, Jakarta Tapestry
> Creator, Jakarta HiveMind
> 
> Professional Tapestry training, mentoring, support
> and project work.  http://howardlewisship.com
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to