Apache FOPを使用して、多くのXMLをAFPおよびPDFに変換します。現在の負荷は、HP-UXシステムでの実行ごとに約25kファイルになります。生産者/消費者方式でFOP変換を初期化およびトリガーするために使用される合計8つのスレッドがあります。最近、変換中に複数の障害が発生し、検索すると、次のような一般的なFOPエラーが発生しました。
**ERROR,2460364,FOToPDF_Thread_11,FOP Exception, something.pdf,Failed to resolve font with embed-url './Fonts/arial.ttf'**
または、ファイルが適切な権限で無傷であるにもかかわらず、フォントメトリックファイルを読み込めないというエラーが発生します。他の多くのPDFが生成されるため、これが問題になることはありません。
また、次のようになります。
**java.io.FileNotFoundException: /PDF/20130111130002/something.pdf (Too many open files (errno:24))**
処理中のログとボリュームから判断すると、これはFOPの問題のように見えます。私は、FOPが過去にフォントファイルでこの問題を抱えていたことを読みました。Apacheが各フォントファイルを複数回開いてハンドルを閉じなかったために、多数のファイルが開いた場合があります。これは修正されるはずでしたが、それでも解決しない場合は、Apacheリストに投稿する以外に、これに対する適切で迅速な解決策は何でしょうか。
プロセスごとのオープンファイル記述子のHP-UXmaxfiles制限を2048を超えて増やすことはできますか?それは役に立ちますか?他に何か提案はありますか?