Have you thought about using a buffered writer ? On Wed October 26 2005 4:08 pm, E.R. van Es wrote: > Hello Velocity List, > > i have to create some big monthly reports on CD. I use a simple java > program to generate all reports in HTML files using velocity templates. > All data is pre-loaded and then the reports are created by iterating over > the data. However, there are too many files to create (over 9600) and > after file 7850 I get a java memory exception. I use a scheme like this: > > *** JAVA CODE *** > private Context context; > > private void processData() { > ArrayList data = getDataKeys(); // this returns an array with all "data > keys" Iterator i = data.iterator(); > while (i.hasNext()) { > String key = (String) i.next(); > ArrayList data = getData(key); // get all data objects for > this key. > context.put("key", key); > context.put("data", data); > processTemplate("template.vm", key + ".html"); > } > } > > private void processTemplate(String template, String outputFile) { > FileWriter outputFileWriter = new FileWriter(new File(outputFile)); > > Template x = Velocity.getTemplate(template); > x.merge(context, outputFileWriter); > > outputFileWriter.close(); > } > *** JAVA CODE END *** > > *** TEMPLATE CODE *** > <html> > ... bla bla ... > #foreach ( $el in $data ) > $data.getX()<br> > $data.getY()<br> > and so on and so forth... > #end > ... bla bla ... > </html> > *** TEMPLATE CODE END *** > > As you can see I put every data class in the context with identifier > "data", my thought was to overwrite the previous one and NOT get a memory > problem, however I do get the memory problem. I can adjust the java memory > allocation to 1Gb but I was wondering if my approach just isn't correct? > I'm not sure about the processTemplate method, though it workes perfectly > for the first 7800 files :) By the way: I'm using velocity-1.4. > > Thanks in advance, > Eric > > --------------------------------------------------------------------- > 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]