I just stumbled across this post and I also am trying to do something
similar to prvent all the data in a wide database being loaded up at once.

I d also like to be able to continue making use of the Excel / CSV export
which I think is really useful.

I m using Struts 2 so if the extended paginate system does not work then can
I ask how you can extend the amount of memory assigned to Jetty please

Any ideas?




Joey122 wrote:
> 
> 

> I m happy to send the code but the snapshot here is:
> 
> 
> //    public String list() {
> //            ExtendedPaginatedList paginatedList = paginateListFactory
> //                            .getPaginatedListFromRequest(getRequest());
> //            this.manager.getAllRecordsPage(TimeEntry.class, paginatedList);
> //            getRequest().setAttribute("timeEntries", paginatedList);
> //            return SUCCESS;
> //    }
> 
> 

> which makes use of the ExtendedPaginatedList functionality.
> 

> I ve also added a couple of DAO an Managers in the appContext to try and
> get these hooked up but I get a NullPointerException
> 
> 
> 
> Joey122 wrote:
>> 
>> Thanks for the suggestion  - I ve been trying for the last couple of days
>> to get this running without any joy I m afraid :(
>> 
>> The link below describes how to incorporate it using Spring MVC whereas I
>> m using BasicStruts2
>> 
>> I ve changed my Action class and applicationContext file and now have a
>> NullPointer as a result of this not being set up right.
>> 
>> Can anyone explain (very quickly) the steps needed to do this for Struts
>> 2?
>> 
>> I think the whole community would benefit from this immensely
>> 
>> 
>> 
>> 
>> mraible wrote:
>>> 
>>> You should setup external paging so you only bring back the records
>>> that are displayed on the screen.
>>> 
>>> http://raibledesigns.com/rd/entry/appfuse_displaytag_external_sorting_and
>>> 
>>> Matt
>>> 
>>> On Mon, Aug 25, 2008 at 1:04 PM, Joey122  wrote:
>>>> Hi All, I ve set up AppFuse and am blown away by how neat everything is
>>>> -
>>>> Well done Matt Raible - This is really awesome stuff. I m seeing an out
>>>> of
>>>> memory error when trying to list a 300k table - It seems to me that the
>>>> entire dataset is loaded into a hashmap by Hibernate :( Is this
>>>> correct? How
>>>> can I prevent this from taking place? I ve used AppFuse before and it
>>>> paginates the data so this is exactly what I want to happen but I DO
>>>> NOT
>>>> want it to get loaded up in a gigantic hashmap I ve double checked my
>>>> HashCode implementation but I dont think this is the problem Heres the
>>>> stack
>>>> trace: java.lang.OutOfMemoryError: Java heap space at
>>>> org.hibernate.engine.StatefulPersistenceContext.addEntry(StatefulPersistenceContext.java:443)
>>>> at org.hibernate.engine.TwoPhaseLoad.postHydrate(TwoPhaseLoad.java:57)
>>>> at
>>>> org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1415) at
>>>> org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308) at
>>>> org.hibernate.loader.Loader.getRow(Loader.java:1206) at
>>>> org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580) at
>>>> org.hibernate.loader.Loader.doQuery(Loader.java:701) at
>>>> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
>>>> at org.hibernate.loader.Loader.doList(Loader.java:2213) at
>>>> org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104) at
>>>> org.hibernate.loader.Loader.list(Loader.java:2099) at
>>>> org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:94)
>>>> at
>>>> org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569) at
>>>> org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283) at
>>>> org.springframework.orm.hibernate3.HibernateTemplate$5.doInHibernate(HibernateTemplate.java:596)
>>>> at
>>>> org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
>>>> at
>>>> org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
>>>> at
>>>> org.springframework.orm.hibernate3.HibernateTemplate.loadAll(HibernateTemplate.java:592)
>>>> at
>>>> org.appfuse.dao.hibernate.GenericDaoHibernate.getAll(GenericDaoHibernate.java:54)
>>>> at
>>>> org.appfuse.service.impl.GenericManagerImpl.getAll(GenericManagerImpl.java:68)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>> at java.lang.reflect.Method.invoke(Method.java:585) at
>>>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
>>>> at
>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
>>>> at
>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
>>>> at
>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
>>>> at
>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
>>>> at
>>>> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
>>>> at
>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
>>>> at
>>>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>>>> ________________________________
>>>> View this message in context: Out Of Memory When Listing Entity With
>>>> 300K
>>>> Rows
>>>> Sent from the AppFuse - User mailing list archive at Nabble.com.
>>>>
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Out-Of-Memory-When-Listing-Entity-With-300K-Rows-tp19150685s2369p19216747.html
Sent from the AppFuse - User mailing list archive at Nabble.com.

Reply via email to