イベント概要

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

Java Service Wrapper には、幅広いビルトインやユーザー定義イベントに反応する他、 メール経由でシステム管理者へ通知する機能があります。

イベントコンフィギュレーション プロパティ

このセクションはプロパティの完全なリストで、 イベントに応じた Wrapper の動作方法の設定やコントロールに利用します。

イベント全般プロパティ:

イベントメール(イベントに応じたメール通知機能)プロパティ:

イベントコマンド(イベントに応じたコマンド実行)プロパティ:

イベントの種類

Wrapper は、メール通知を送ったり、場合によっては、 様々なイベントに反応して外部コマンドを実行したりします。 下記のリストでは、それぞれ定義されたイベントについて説明しています:

  • [wrapper_start] :

    Wrapper プロセスが最初にスタートする時に発生するイベントです。 このイベントは、最初の JVM を起動する前に必要な初期化をするために使われます。

    例えば、メール通知の場合なら、システムが単に再起動されたことを指摘するために使われます。

  • [jvm_prelaunch] :

    新しい JVM が起動しようとする時にはいつでも発生するイベントです。 このイベントは、各 JVM を起動する前に必要な初期化をするために使われます。

  • [jvm_start] :

    新しい JVM が起動した直後で、そのアプリケーションのスタートが確立する前に、発生するイベントです。

  • [jvm_started] :

    JVM 内の Wrapper コードが、Wrapper プロセスに、新しいアプリケーションが起動して稼働状態に入ったことを 一旦、知らせるときに発生するイベントです。

    もし インテグレーション方法3(WrapperListener)を使っていない場合には、 ユーザーアプリケーションが実際にスタートが確立する前にこのイベントが発生するかもしれませんので注意してください。 ユーザーアプリケーションの状況次第ですが、 方法1(WrapperSimpleApp)方法2(WrapperStartStopApp) の両者とも、アプリケーションの起動確立を通知する前に、 アプリケーションが完全にスタートが完了するまで待機するように Wrapper の設定を変更することができます。 さらに詳しくは、各インテグレーション方法の詳細で「上級者向け」セクションをご覧ください。

  • [jvm_deadlock] (ver. 3.5.0 から):

    デッドロックチェック機能により、 JVM 内部でスレッドデッドロックを検知すると、いつでも発生するイベントです。

  • [jvm_ping_slow] :

    最初に ping が[wrapper.ping.alert.threshold]で指定されている秒数より遅いと 判断された時に発生するイベントです。 イベントは、ping 応答の前に発生されます。

  • [jvm_ping_response_slow] :

    ping が[wrapper.ping.alert.threshold]で指定されている秒数より遅いと 判断された時に発生するイベントです。 イベントは、ping 応答の後に発生されます。

  • [jvm_ping_timeout] :

    二つの ping 応答の間隔が、[wrapper.ping.timeout]で指定されている秒数より長く時間がかかったときに発生するイベント。

  • [jvm_stop] :

    JVM がシャットダウンされそうになる時にいつでも発生するイベントです。 このイベントは、JVM がクラッシュした時に発生しますが、その JVM プロセスが過ぎた後に発生します。 もし、何かの理由で、システムがクラッシュしたり、パワーが低減した場合、このイベントは決して発生しません。

  • [jvm_stopped] :

    何かの理由で、JVM がシャットダウンした後に発生するイベントです。 このイベントは、クリーンアップ作業をするために使われます。 もし、何かの理由で、システムがクラッシュしたり、パワーが低減した場合、このイベントは決して発生しません。

  • [jvm_restart] :

    Wrapper が JVM を再起動しようとする時に発生するイベントです。

  • [jvm_failed_invocation] :

    JVM が結果として再起動になる、ある状況から退出した時に発生するイベントですが、 JVM が動作している総時間が [wrapper.successful_invocation_time] プロパティで設定した値より下回る場合です。

  • [jvm_max_failed_invocations] :

    JVM が結果として再起動になる、ある状況から退出した時に発生するイベントですが、 起動の失敗([jvm_failed_invocation]イベント)をカウントし、 連続して失敗した「起動の試み(invocation)」の総数が、 [wrapper.max_failed_invocations] プロパティで設定した値より上回る場合です。

  • [jvm_kill] :

    「フリーズしていると思われる JVM を強制終了する必要がある」と Wrapper が判断すると、発生するイベントです。 このイベントは、JVM プロセスを強制終了する前に発生します。 このイベントでは[jvm_stop]イベントが常に先行し、その後、 [jvm_killed]イベント、および [jvm_stopped]イベントが続きます。 このイベントでコマンド実行時に遅延が必要な場合は、 [wrapper.jvm_kill.delay]プロパティ を参照してください。

  • [jvm_killed] :

    Wrapper がフリーズしていると思われる JVM を強制終了したとき、発生するイベントです。 このイベントの後に、常に[jvm_stopped]イベントが続きます。

  • [jvm_unexpected_exit] :

    例えば、クラッシュして落ちたときなど、予想外の理由で、JVM プロセスが消えた時に発生するイベントです。 このイベントの後に常に[jvm_stop]イベント および[jvm_stopped]イベントが続きます。

  • [wrapper_stop] :

    Wrapper プロセスがシャットダウンしている時に、最後に発生するイベントです。 このイベントは、最後の JVM がシャットダウンした後に必要なクリーンアップ作業をするために使われます。

    このイベントは、Wrapper が通常どおりにシャットダウンする時だけに発生するイベントであることに注意してください。 もし、何かの理由で、システムがクラッシュしたり、パワーが低減した場合、このイベントは決して発生しません。

  • [wrapper_pause] (ver. 3.5.0 から):

    Wrapper がポーズ(一時停止)する時にいつでも発生するイベントです。 ポーズ(一時停止)した時の Wrapper 動作については設定次第ですが、 停止される JVM についてのイベントも、同様に発生します。

    詳しくは[wrapper.pausable] [wrapper.pausable.stop_jvm]プロパティをご覧ください。

  • [wrapper_resume] (ver. 3.5.0 から):

    Wrapper がレジューム(再開)する時にいつでも発生するイベントです。 ポーズ(一時停止)した時の Wrapper 動作については設定次第ですが、 開始される JVM についてのイベントも、同様に発生します。

    詳しくは[wrapper.pausable] [wrapper.pausable.stop_jvm]プロパティをご覧ください。

  • [user_<n>] (ver. 3.5.0 から):

    あるアクションに応じて発生するユーザー定義イベントです。 イベント名の「<n>」コンポーネント部には、「1 - 32767」の範囲でインテージャー(整数値)が入ります。

    ユーザー定義イベントが発生するよう設定できるアクションには、次のものが含まれます: [wrapper.filter.action.<n>]、 [wrapper.timer.<n>.action]、 [wrapper.check.deadlock.action]、 [wrapper.event.<event_name>.command.block.action

イベントメール(イベントに応じたメール通知機能)

注意

この機能を利用するためには、 Java Service Wrapper のプロフェッショナル版をご利用ください。

Wrapper では、各イベントの種類に反応して、メール通知を送ることができます。 これにより、システム管理者は、さらにアクションを実行する必要があるかどうかを判断できます。 使い方などのさらに詳しくは、各プロパティの説明を個別にご覧ください。

例(JVM 再起動に応じてメール通知を送信する例):
# 一般的なイベントメール(イベントに応じたメール)設定。
#wrapper.event.default.email.debug=TRUE
wrapper.event.default.email.smtp.host=smtp.mycompany.com
wrapper.event.default.email.smtp.port=25
wrapper.event.default.email.subject=[%WRAPPER_HOSTNAME%:%WRAPPER_NAME%:%WRAPPER_EVENT_NAME%] イベント通知
wrapper.event.default.email.sender=myapp-noreply@mycompany.com
wrapper.event.default.email.recipient=myapp-admin@mycompany.com

# 特定のイベント時に反応するメール機能を有効にします。
wrapper.event.jvm_restart.email=TRUE
wrapper.event.jvm_restart.email.body=JVMを再起動しました。\n\nその状況を確認してください。\n

このプロパティは、[wrapper.event.<x>.email*]形式で、 プロパティ名の「<x>」コンポーネント部には、 「default」(デフォルト)のキーワードか、あるいは、 上記で定義された「イベントの種類の1つ」を設定します。

プロパティに何も特別なイベント名が定義されていない時には、 デフォルト値wrapper.event.default.email*]が適用されます。 全てのイベントメールに対して一般的な値として利用するのに便利です。

イベントコマンド(イベントに応じたコマンド実行)

注意

この機能を利用するためには、 Java Service Wrapper のプロフェッショナル版をご利用ください。

Wrapper は、各イベントの種類に反応して外部コマンドを実行することができます。 これらは、システムのクリーンアップ、通知の送信、またはネイティブでしか処理できないアクションの実行に役立ちます。 使い方などのさらに詳しくは、各プロパティの説明を個別にご覧ください。

Wrapper に様々な指示を出すことができます。 Java Service Wrapper にコマンドを実行させたり、そのコマンドが完了するまでブロック(一時停止)したり、 あるいは、そのコマンドが完了する待機時間の最大時間を設定したり、などが出来ます。 もし待機時間がタイムアウトになっても、そのコマンドはそのまま動作を継続します。

現在のところ、Wrapper は、外部コマンドの出力をログ化する機能を提供していません。

例(JVM を起動する前に、待機なしで、'mycleanup' を実行する例):
wrapper.event.jvm_prelaunch.command.argv.1=/usr/bin/mycleanup
wrapper.event.jvm_prelaunch.command.argv.2=parameter1
例(JVM 起動する前に、無制限な待機ありで、'mycleanup' を実行する例):
wrapper.event.jvm_prelaunch.command.argv.1=/usr/bin/mycleanup
wrapper.event.jvm_prelaunch.command.argv.2=parameter1
wrapper.event.jvm_prelaunch.command.block=TRUE
例(JVM 起動する前に、5秒間の待機ありで、'mycleanup' を実行する例):
wrapper.event.jvm_prelaunch.command.argv.1=/usr/bin/mycleanup
wrapper.event.jvm_prelaunch.command.argv.2=parameter1
wrapper.event.jvm_prelaunch.command.block=TRUE
wrapper.event.jvm_prelaunch.command.block.timeout=5

このプロパティは、[wrapper.event.<x>.command.*]形式で、 プロパティ名の「<x>」コンポーネント部には、 上記で定義された「イベントの種類の1つ」を設定します。

プロパティに何も特別なイベント名が定義されていない時には、 デフォルト値wrapper.event.default.command.*]が適用されます。 全てのイベントコマンドに対して一般的な値として利用するのに便利です。