Hi all, 

We use FOP (20.4) in AIX platform to generate PDF(s)
with multi-Asian languages and a small logo (gif)
concurrently.  The application will recieve http calls
and a servlet will call a class to generate the PDF
with embeded font (the font file is 29M).  

Orignially, we create a static variable for the Driver
object in the called class to generate the pdf(s). 
Since every instance of the class will use the same
Driver object, we sychronize this object when
performing the rendering process.  Everything is okay,
however, the speed is very slow.  Therefore, we change
the code to create local instance variable object for
the Driver in each called class without
synchronization.  

Then, we find that when 2 or more pdf are generating
together, FOP will display the following error
messages:

"Could not load external SVG: Content is not allowed
in prolog." and
"Could not load external SVG: Stream closed"

The PDF(s) still can be generated.  However, the logo
will disappear and all the fonts will be displayed as
'.'.  When we try to open the pdf, it will say the
embedded font is not available.  We think this may be
due to mutli-threads loadding the same gif file and
font file.  

Our questions are:
1.  Is it really the thread-safe problem of FOP?  Or 
is it due to our mis-use of FOP?  Can we prevent it?

2.  We find a lot of messages in bug database or email
list teaching us to sychronize some small code segment
in FOP to prevent the concurrency problem.  If we
really want to improve the performance in our case,
what is the minimum code segment we can amend in FOP
to solve the problem?  

Thank for your help in advance
Sherlane


__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

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

Reply via email to