現在、「-accept=socket,host=0,port=8100;urp;」という引数で OpenOffice.org 3.3 を起動しています。シェル スクリプト (Windows では .bat ファイル、Solaris では .sh ファイル) を使用します。OpenOffice.org が起動し、メイン画面が表示されます (ドキュメントの種類を選択したり、テンプレートを開いたり、ファイルを開いたりできる画面です)。ただし、最終的にはこの画面は無効になります。そのための議論があるようです。
OpenOffice.org を開始した後、アプリケーションを起動し、Java 用の UNO API ライブラリを使用してドキュメントを作成できます。この時点で、OpenOffice.org のメイン メニュー画面とドキュメントの両方が開いています。しかし、ドキュメントを閉じると、OpenOffice.org のメイン メニュー画面も閉じて、OpenOffice.org プロセスが終了します。アプリケーションを使用して別のドキュメントを生成すると、接続できません (soffice プロセスが実行されていないため)。
私の目標は、プロセスを開始できるようにすることです (または、ユーザーがそのように構成している場合は、システムの起動時にプロセスを開始させます)、明示的に終了するまで待機させ、新しく生成されたドキュメントを受け入れ続けることです。
どうすれば望ましい動作を得ることができますか? 現在、私の使用例は、soffice プロセスがシェル スクリプトから開始されることですが、別の使用例は、soffice がシステムの起動時に実行されるように構成されていることです。私の動作は、soffice プロセスを別の方法で実行した場合にのみ可能ですか (バッチ スクリプトを介して実行するのではなく、システムの起動時など)? 私が目にする他の唯一のオプション (現在検討中) は、Java アプリケーションから OpenOffice.org プロセスを「オンデマンド」で起動することです。Java アプリケーションから起動し、Java アプリケーションが終了したときに終了するか、起動します。新しいドキュメントを作成する必要があるたびに、このプロセスを実行します。