Do you have caching disabled by any chance?
seloha . 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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]