World Map
Java Service Wrapperは、御社Javaアプリケーション製品の安定した信頼性を高める最短最善の方法です。
  • Free Trial
  • Buy Now
イベントコンフィギュレーションプロパティ

イベント概要

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

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

イベントプロパティ:

イベントに利用するプロパティは、下記の「イベントコンフィギュレーションプロパティ」セクションをご覧ください。

イベントの種類:

ビルトインやカスタムイベントの完全なリストは、下記の「イベントの種類」セクションをご覧ください。

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

Wrapperログの一部を添付したり、カスタマイズされたメッセージを添えて、Eメールが送信されます。 これでシステム管理者がさらなるアクションが必要かどうか判断するのに役立ちます。 詳しくは下記の「イベントメール(イベントに応じたメール通知機能)」セクションをご覧ください。

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

外部スクリプトを含むシステムコマンドをイベントに応じて実行することも可能です。 これはシステムクリーンアップや通知を送信したり、自動処理するアクションを起こすなどに便利です。 詳しくは下記の「イベントコマンド(イベントに応じたコマンド実行)」セクションをご覧ください。

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

このセクションはプロパティの完全なリストで、 イベントに応じた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_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] :

    フリーズしていると思われるJVMをWrapperが強制終了したとき、発生するイベントです。 このイベントの後に、常に[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に様々な指示を出すことができます。 例えば、コマンドを実行させたり、そのコマンドが完了するまでブロック(一時停止)したり、 あるいは、そのコマンドが完了する待機時間の最大時間を設定したり、など。 もし待機時間がタイムアウトになっても、そのコマンドはそのまま動作を継続します。

現在のところ、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.*]が適用されます。 全てのイベントコマンドに対して一般的な値として利用するのに便利です。