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]

Reply via email to