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.