パッケージ org.opengion.hayabusa.report2

# クラス ProcessFactory

java.lang.Object
org.opengion.hayabusa.report2.ProcessFactory

public final class ProcessFactory extends Object
Sofficeのプロセスを管理するファクトリクラスです。 プロセスプールの実装は、AbstractObjectPoolを継承して実装されています。 プロセスの初期生成数は0です。最大生成数は、システムリソースのREPORT_MAX_PROCESS_COUNTで 定義されます。また、生存時間は、REPORT_PROCESS_ALIVEで定義されています。 プロセスを全て終了するには、clearメソッドを呼び出します。 clearメソッドは、Cleanableインターフェースの実装として組み込まれ、SytemManagerに登録されるため、 Tomcat終了時に、自動的にプロセスが終了されます。 但し、貸し出し中(処理中)のプロセスは、AbstractObjecgPoolの実装から、終了されないため、別の方法で 明示的にkillする必要があります

導入されたバージョン:
  JDK5.0,

- ## ネストされたクラスの概要

  ネストされたクラス
  修飾子とタイプ
  クラス
  説明
  `protected static final class`
  `ProcessFactory.ProcessPool`
  ProcessPool は、AbstractObjectPool を継承した オブジェクトプールです。

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `static void`
  `clear()`
  プールされているOpenOfficeのプロセスを全てクローズします。
  `static String`
  `information()`
  現在の状態を文字列で返します。
  `static void`
  `kill()`
  全てのsoffice.binプロセスをKILLします。
  `static SOfficeProcess`
  `newInstance()`
  OpenOfficeのプロセスを生成します。
  `static void`
  `release(SOfficeProcess soffice)`
  OpenOfficeのプロセスをリリースします。
  `static void`
  `remove(SOfficeProcess soffice)`
  OpenOfficeのプロセスをクローズします。

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## メソッドの詳細

  - ### newInstance

    public static SOfficeProcess newInstance()
    OpenOfficeのプロセスを生成します。
    戻り値:
      sofficeのプロセス

  - ### release

    public static void release(SOfficeProcess soffice)
    OpenOfficeのプロセスをリリースします。
    パラメータ:
      `soffice` - SOfficeProcessオブジェクト

  - ### remove

    public static void remove(SOfficeProcess soffice)
    OpenOfficeのプロセスをクローズします。
    パラメータ:
      `soffice` - SOfficeProcessオブジェクト

  - ### clear

    public static void clear()
    プールされているOpenOfficeのプロセスを全てクローズします。

  - ### kill

    public static void kill()
    全てのsoffice.binプロセスをKILLします。 アプリケーションの終了処理で実行します。 OS名がWindowsを含む場合はtaskkill、それ以外の場合はkillallします。 又、プロセス終了後にコピーされた設定ファイルを削除します。
    変更履歴:
      4.3.0.0 (2008/07/18) 追加, 4.3.0.0 (2008/07/22) 設定ファイルの削除を追加, 4.3.5.0 (2009/02/01) Exception をそれぞれのExceptionに分けて捕らえる。, 6.4.2.0 (2016/01/29) ex.printStackTrace() を、ThrowUtil#ogStackTrace(Throwable) に置き換え。

  - ### information

    public static String information()
    現在の状態を文字列で返します。
    戻り値:
      現在の状態
    このﾒｿｯﾄﾞは、nullを返しません