On Sep 12, 2007, at 12:24, Nicolas Baumann wrote:

Hi

I'm using FOP 0.93.

I've tried to isolate the instanciation part (the newFop method) from the transformation part, but when I try to reuse the instance, I get this :

"FOTreeBuilder (and the Fop class) cannot be reused. Please instantiate a new
instance."

Because the Fop and FOTreeBuilder instances contain references to information that is specific to one particular rendering run. The FopFactory and FOUserAgent, on the other hand, are there to make sure that most info that can be re-used will also be re-used (like font information for all the renderers, for example, or the image cache)

Why does the newFOP method takes so long the first time that it has to timeout ?

Do you have any evidence that this is specific to FOP? As far as I know, this phenomenon is quite common: the first time a particular method is called, there may be referenced classes that still need to be loaded, for instance. Depends a bit on the JVM, but it's not something I would be worried about.

Can't this instance be created once as the server loads ?

That would be a no, but if I interpret you correctly, then it only takes a long time the /first/ time, and so, running that method only once would save you very little in overhead. As a possible route for improving performance, you may want to take a look at instantiating the FopFactory only once, as the server loads (if that is not the case, yet). That should be enough to make sure that all but the very first call to FopFactory.newFop() run quicker.


HTH! If not, just yell for more info.

Cheers

Andreas


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

Reply via email to