On Jul 28, 2008, at 18:03, Matthieu Siggen wrote:

Hi

FWIW:

While debugging I found out that the fopFactory.newFop call obtains the handle. Unfortunately, the handle seems to be arbitrarly released, ie. a
garbage collection is sometimes necessary to free the handle.

OK, this seems to indicate that:
a) the issue is not located on the FOP-side
b) it's not really 'arbitrary'

If FOP itself would unnecessarily hold on to a TTF, then a GC will not magically release it.

As Jeremias already noted, no obvious bugs present. All FOP does, is open a standard InputStream and properly close it when it is no longer needed. After that, it's up to the InputStream implementation to release the native file handle. It could be that this last step does not occur until the InputStream itself is cleared by the GC. So, it's possible that 'arbitrarily' simply means 'upon the next implicit or explicit garbage-collection'.

Anyway, unfortunately it seems like it's not something we can directly help you with. The only workaround may even be to explicitly ask for Runtime.gc() after every run. Then again, I'm wondering whether this could be a showstopper when running multiple simultaneous FOP-sessions in the same environment. :-S



Cheers

Andreas

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to