LibreOffice サブシステムのトラブルシューティング
このページでは、LibreOffice のトラブルシューティングの方法について説明します。
概要
Alfresco Content Services の 変換サービスとして Jodconverter を使用している中で、LIbreOffice サブシステムのトラブルに見舞われるケースがあります。
そのような場合に行うトラブルシューティングの方法を説明します。
一覧
LibreOffice サブシステムのトラブルシューティングには、これらのヒントを使用してください。
次の log4j プロパティを有効にしてデバッグします
log4j.logger.org.alfresco.enterprise.repo.content=DEBUG log4j.logger.org.artofsolving.jodconverter=DEBUGlog4j.properties ファイルの作成方法については、主要なツールとファイルを参照してください。
Tomcat が正常にシャットダウンされない場合、
soffice.binプロセスを停止できません。これにより、8080 ポートを使用して Tomcat を起動するとエラーが発生する可能性があります。これが発生した場合は、soffice.binプロセスを手動で強制終了してください接続に失敗したことを示すエラーメッセージが表示される場合があります
LibreOffice プロセスが完全に起動するまでに10秒以上かかる場合、Alfresco Content Services はそれに接続できません。これが発生した場合、Jodconverter サブシステムを再起動する前に、
soffice.binプロセスを手動で強制終了してください。LibreOffice ホームの場所が正しくない場合でも、Jodconverter サブシステムは起動しますが、LibreOffice プロセスは実行または接続されません。エラーはコンソールで報告されますが、
alfresco.logファイルでは報告されません。jodconverter.officeHome プロパティの正しい値は、ホストのオペレーティングシステムによって異なります。
Mac OS X の場合は、
MacOS/soffice.binを含むディレクトリに設定する必要があります。デフォルトでは/Applications/LibreOffice/Contentsです。他のオペレーティングシステムの場合は、
program/soffice.binを含むディレクトリに設定する必要があります。
JMX を使用して Jodconverter サブシステムを再起動するときは、enabled プロパティを true に設定する必要があります (これにより、JOD サブシステムが実行されている場合は停止します)。次に、start 操作を使用して、Jodconverter サブシステムを新しいプロパティ設定で起動します。
JodConverter は、soffice LibreOffice プロセスの複数の再利用可能なインスタンスのプールを実行できます。この機能を使用するには、
jodconverter.portNumbersプロパティをポート番号のコンマ区切りのリストに設定します。すべてのポート番号を使用できるようにする必要があります。たとえば、3つの soffice プロセスのプールの場合、2022,2023,2024 となります。JodConverter は、LibreOffice soffice プロセスの構成可能な再起動動作をサポートしています。LibreOffice の潜在的なメモリリークが累積してパフォーマンスに影響を与えないようにするために、JodConverter は、指定された数のタスク (変換、メタデータ抽出)が実行された後に、soffice プロセスを再起動します。
jodConverter.maxTasksPerProcessのデフォルトは200です。JodConverter を使用すると、長時間実行またはハングしたタスクをタイムアウトにすることができます。最初のタイムアウトは
jodconverter.taskQueueTimeoutによって制御されます。デフォルトでは 30000 (30000ミリ秒=30秒) です。タスクが実行を待機する JodConverter キューでこの時間を費やしている場合、タスクはキューから削除されます。2番目のタイムアウトはjodconverter.taskExecutionTimeoutによって制御されます。デフォルトは 120000 (120000ミリ秒=2分) です。タスクがこの期間よりも長い間 soffice プロセス内で実行されている場合、その soffice プロセスは終了され、再起動されます。変換などの OOo 関連のタスクのスループットは、プールサイズと2つのタイムアウトタイマーを変更することで、利用可能なハードウェアリソース (メモリ、CPU) に対してバランスを取ることができます。