On Oct 31, 2006, at 08:01, Debasish Jana wrote:
Hi,
We are using FOP 0.92 for converting a XSL:FO document to PDF/RTF
etc. Since
there is a table with many rows with data coming from a huge db
table, it is
causing OutOfMemoryError.
We split up the document with single fo:root but multiple page-
sequences
with each page-sequence having a finite number of fo components,
still we
come up with OutOfMemoryError, and also, after the OutOfMemoryError
comes,
the amount of free memory does not move up to the level where the
transformation is started.
Well, 0.92 still contained a rather serious memory-leak in the FO
tree. Even if you split up the document in multiple page-sequences,
the heap will eventually be filled with unneeded FOs.
OTOH, if your document contains forward-references --page-number-
citations pointing forward to the end of the document-- then
splitting up in multiple page-sequences doesn't help all that much,
I'm afraid...
...
} finally {
//Clean-up
out.close();
}
After we hit out.close, does it cleanup all used up resources or
should we
do something extra to cleanup?
I think this should suffice... One other important memory-issue has
been fixed since the 0.92 release, in the image-cache. If your
document contains a lot of images, this could also be the cause of
your problems.
Please see if you can try to run the same documents through FOP
Trunk, as it may already offer a substantial improvement.
Also, is there any guideline that how many page-sequences a
document can
have and also within one page-sequence how much (how do we know how
much) so
as to handle large volume? I know it depends on the amount of free
memory at
the time of spawning this transform request, but still, a
guildeline would
help so that I can split into page-sequences accordingly.
No such guidelines exist, AFAIK, but if you don't have any forward
references, and keep your page-sequences relatively small --say no
more than 10 pages each-- the number you can have in your document is
virtually unlimited.
HTH
Cheers,
Andreas
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]