インデックス

wrapper.on_exit.<n> プロパティ群

対応バージョン :3.1.0
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/Linux

一部のアプリケーションは、意味のある終了コードを返してくることは嬉しいことです。 そのようなケースでは、 「終了コードをキッカケに終了させるイベント時に、アプリケーションを再起動したい」と願うこともあるでしょう。 このプロパティを使えば、それが可能です。

wrapper.on_exit.default プロパティ

wrapper.on_exit.default]プロパティを使って、 [RESTART](再起動)か、あるいは[SHUTDOWN](シャットダウン)か、 どちらかを設定することで、いかなる終了コードでも、それに反応するアクションを指定することができます。 デフォルト値は「SHUTDOWN」です。

可能なアクションは次のとおり:

  • [RESTART]
  • [SHUTDOWN]
  • [PAUSE] (ver. 3.5.0から): Wrapperを「ポーズ(一時停止)」状態にします。 Wrapperがレジューム(再開)するまで、JVMの再起動を遅延させます。 もしWrapperのポーズ(一時停止)が有効でない場合、 「RESTART」アクションが設定されているのと同じようにJVMが再起動されます。 詳しくは[wrapper.pausable]プロパティをご覧ください。
設定例:(デフォルト動作:シャットダウン)
wrapper.on_exit.default=SHUTDOWN

wrapper.on_exit.<n> プロパティ群

さらに、 [wrapper.on_exit.]で始まる名前のプロパティに 終了コードを続けて定義することで、特定の終了コードに応じて起こすアクションを指定することも可能です。

プロパティ名は[wrapper.on_exit.]で始まり、 プロパティ名の「<n>」コンポーネント部には、終了コードを指定します。

可能なアクションは次のとおり:

  • [RESTART] : 新しくJVMを起動します。
  • [SHUTDOWN] : Wrapperをシャットダウンします。
  • [PAUSE] (ver. 3.5.0から): Wrapperを「ポーズ(一時停止)」状態にします。 Wrapperがレジューム(再開)するまで、JVMの再起動を遅延させます。 もしWrapperのポーズ(一時停止)が有効でない場合、 「RESTART」アクションが設定されているのと同じようにJVMが再起動されます。 詳しくは[wrapper.pausable]プロパティをご覧ください。

もし、与えられた終了コードに応じた[on_exit.<n>]プロパティが定義されていない場合、 デフォルトとして、[wrapper.on_exit.default]プロパティが適用されます。

終了コードに応じた設定例:
wrapper.on_exit.1=RESTART

活用例:

「終了コード 0 (ゼロ)」を除き、全ての終了コードでJVMを再起動するようにWrapperを設定する:

設定例:(「終了コード 0 (ゼロ)」でJVMシャットダウン、それ以外の終了コードでJVM再起動)
wrapper.on_exit.default=RESTART
wrapper.on_exit.0=SHUTDOWN

この[on_exit]プロパティは、 [WrapperManager.stop(n)]や、 [WrapperManager.stopImmediate(n)]、 [System.exit(n)] へのコールによって引き起こされます。

外部のシグナル、あるいは、WrapperやJVMのシャットダウンのキッカケになるアクションは、 Wrapperがシャットダウンしているので、無視されて、これらのプロパティを引き起こします。 つまり、いかなる終了コードでも再起動するようにWrapperを設定すれば、 Wrapperのシャットダウンを妨げることはありません。