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]
