velocity-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <lawre...@marchex.com>
Subject Re: OutOfMemoryException Processing Velocity Template
Date Fri, 06 May 2005 18:21:07 GMT
Sorry, I'm not sure what you mean by what "kind of writer" I'm using.   Where would I find
out?   How would I change this (to maybe a StringBuffer writer?)

Also, each column contains a String that is at most, 200 characters, most are closer to 10-20.
  There are a total of 10 columns.

Thanks.

-Lawrence

On Fri, May 06, 2005 at 09:11:13PM +0300, Ilkka Priha wrote:
> What kind of writer are you using and how long are the items? 66 000 HTML 
> table rows with 5 numeric columns consumes about 32 MB when buffered into a 
> string writer. If the items are longer, it takes much more memory.
> 
> -- Ilkka
> 
> 
> lawrence@marchex.com wrote:
> >I tried putting static HTML in the #foreach loop, same problem.  Then I 
> >tried setting the large list as a "local" varible:
> >
> >#set ($localList = $List)
> >#foreach($row in $localList)
> >...
> >
> >but that didnt help either.   I don't see why velocity should use 250+ MB 
> >of memory iterating over a list ~8MB in size...  
> >-L
> >
> >On Thu, May 05, 2005 at 02:56:28PM -0700, jian chen wrote:
> >
> >>Well, I don't have a good clue now. 
> >>
> >>What about do the debugging step by step, i.e., use just static html
> >>in your #foreach loop? Will that blow up the memory?
> >>
> >>Cheers,
> >>
> >>Jian
> >>
> >>
> >>
> >>On 5/5/05, lawrence@marchex.com <lawrence@marchex.com> wrote:
> >>
> >>>Thanks for the suggestion.   I tried putting that, along with
> >>>
> >>>file.resource.loader.cache = true
> >>>
> >>>in my velocity.properties file.   Both did not work.   Any other 
> >>>suggestions?
> >>>
> >>>Thanks!
> >>>
> >>>-L
> >>>
> >>>On Thu, May 05, 2005 at 02:11:28PM -0700, jian chen wrote:
> >>>
> >>>>Hi,
> >>>>
> >>>>This maybe because you haven't turned on template caching. I had
> >>>>similar problem before, and even if I only used evaluate(...) method
> >>>>and load the template using my own java program, it happened when the
> >>>>for loop is lot of iterations.
> >>>>
> >>>>The bottom line for my problem is I need to turn on template caching,
> >>>>so, velocity will not try to cache the objects it parsed during each
> >>>>time of the iteration.
> >>>>
> >>>>I did:
> >>>>ri.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_CACHE, "true");
> >>>>
> >>>>where ri is a runtime instance.
> >>>>
> >>>>Will this fix your issue?
> >>>>
> >>>>Cheers,
> >>>>
> >>>>Jian
> >>>>
> >>>>
> >>>>On 5/5/05, lawrence@marchex.com <lawrence@marchex.com> wrote:
> >>>>
> >>>>>I am getting an OutOfMemoryException:
> >>>>>
> >>>>>org.apache.velocity.exception.MethodInvocationException: Invocation
of 
> >>>>>method 'get' in  class org.apache.velocity.tools.struts.TilesTool

> >>>>>threw exception class java.lang.OutOfMemoryError : null
> >>>>>
> >>>>>when I am creating a large velocity file.  The vm file itself is

> >>>>>fairly small, but this piece of velocity is causing the exception:
> >>>>>
> >>>>>#foreach($row in $List)
> >>>>><tr>
> >>>>><td height="20" class="tbltxt">$!row.item1</td>
> >>>>><td class="tbltxt">$!row.item2</td>
> >>>>><td class="tbltxt">$!row.item3</td>
> >>>>><td class="tbltxt">$!row.item4</td>
> >>>>><td class="tbltxt">$!number.format('currency', $!row.item5)</td>
> >>>>></tr>
> >>>>>#end
> >>>>>
> >>>>>List is a list of relatively small objects (5-6 Strings, a couple
of 
> >>>>>BigDecimals), but the List itself contains approximately 66,000 
> >>>>>entries.  Unfortunately, unless I set the tomcat JVM to use a heap

> >>>>>size of at least 256M, this velocity template throws an 
> >>>>>OutOfMemoryException when it is being processed.
> >>>>>
> >>>>>Any suggestions?
> >>>>>
> >>>>>Thanks.
> >>>>>
> >>>>>-L
> >>>>>
> >>>>>---------------------------------------------------------------------
> >>>>>To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> >>>>>For additional commands, e-mail: velocity-user-help@jakarta.apache.org
> >>>>>
> >>>>>
> >>>>
> >>>>---------------------------------------------------------------------
> >>>>To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> >>>>For additional commands, e-mail: velocity-user-help@jakarta.apache.org
> >>>
> >>>---------------------------------------------------------------------
> >>>To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> >>>For additional commands, e-mail: velocity-user-help@jakarta.apache.org
> >>>
> >>>
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> >>For additional commands, e-mail: velocity-user-help@jakarta.apache.org
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> >For additional commands, e-mail: velocity-user-help@jakarta.apache.org
> >
> >.
> >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: velocity-user-help@jakarta.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-user-help@jakarta.apache.org


Mime
View raw message