----- Original Message -----
Sent: 28 February, 2005 09:32
Subject: Re: Out of Memory problem
I tried to increase memory of JVM through Tomcat - but not much change. I
believe the way i am using my procedure (creating objects) that might be
wrong.
Below is some statistics (logger is displaying) when i am trying to
render the PDF with 1 page / 2 pages / 3 pages etc
1 page
report
2 pages report 3 pages
report
Initial Heap size
~
12M
14M
10M
Current Heap size
~
64M
10M
9M
Total memory
used ~
52M
4M
-1M
If i try for 4 pages report then i get OutOfMemory Error. Once i get this
error then even sometimes i get errors for 2 pages / 3pages report
too. Total memory used always go in -ve later.
I am attaching my procedure below which i use to render the
pdf
----------------------------------------------------------
//Following method is used to render PDF
public
synchronized void renderPDF (...)
throws Exception
{
...
get xsl file
path
....
get xml
....
org.apache.fop.image.FopImageFactory.resetCache();
//get the user config file for pdf Arial unicode font
File userConfigFile = new File(cnffilepath);
Options options = new org.apache.fop.apps.Options(userConfigFile);
TraxInputHandler xsltinput = new TraxInputHandler(new
File(xmlpath), new
File(xslpath));
ByteArrayOutputStream
outputPDFBuffer = new
ByteArrayOutputStream();
Driver driver = new
Driver();
driver.setLogger(new
org.apache.avalon.framework.logger.Log4JLogger(logger)
);
driver.setRenderer(Driver.RENDER_PDF);
driver.setOutputStream(outputPDFBuffer);
xsltinput.run(driver);
FileOutputStream
pdfDoc = new
FileOutputStream(pdfpath);
pdfDoc.write(outputPDFBuffer.toByteArray(),
0,
outputPDFBuffer.size());
pdfDoc.flush();
pdfDoc.close();
}//renderPDF
---------------------------------
regards
Manisha
Chris Bowditch <[EMAIL PROTECTED]>
wrote:
Manisha
Sathe wrote:
> Thanks Chris,
>
> Would appreciate if
u can explain more how shall i increase memory in my
> case
->
>
> I am on Tomcat server and using servlet to render the
fop. I am not
> using fop.bat file, Which script starts my JVM -
really speaking i also
> do not know.
Well I havent used
Tomcat, but I know it will be started by a shell script or
batch file.
You will need to find it and add the parameter -Xmx256M to the
call to
java. Ask on a tomcat specific list, this is getting somewhat off
topic
for FOP/XSL-FO.
Chris
__________________________________________________
Do You
Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com