- ドキュメンテーション
- コンフィギュレーションプロパティ概要
- ログ化コンフィギュレーション
- wrapper.filter.<x>.<n> プロパティ
wrapper.filter.<x>.<n> プロパティ概要 |
このフィルターは、とても強力な機能で、何もコーディングを必要とせず、 アプリケーションの終了に対する新しい動作を追加するなどが可能です。 JVM のコンソール出力の文字列をモニタリング(監視)することで動作し、 該当する文字列が見つかると、いくつでもアクションを実行することができます。 例えば、エラーが発生したとき JVM を再起動させます。 あるアプリケーションに「ある状況になると動作を停止する」というバグがあるとします。 このフィルター機能を活用すると、 アプリケーションの問題を解決するまで「停止する」という問題を即に回避することが可能になります。 フィルター定義に利用するプロパティ:
フィルター定義として、最低でも、 [wrapper.filter.trigger.<n>]プロパティや [wrapper.filter.action.<n>]プロパティを 設定しなければなりません。その他のプロパティは任意に応じて設定します。 <n> コンポーネント部: 各フィルターで、 プロパティ名の「<n>」コンポーネント部には、 「1」からカウントアップしていくインテージャー(整数値)のナンバリング数値を入れて指定します。 デフォルトでは、連番であり、欠番で飛ぶことはできないはずです。 [wrapper.ignore_sequence_gaps] プロパティで、シーケンス内でギャップ(途切れ)検索を「許可する/許可しない」を任意に設定にすることができます。 「<n>」番号の昇順で、定義されたフィルターをスキャンします。 一つのフィルター条件が一致すると、その出力ラインで処理を停止します。 下記に、いろいろなプロパティの使用例をご紹介していますので参照ください: |
wrapper.filter.trigger.<n> プロパティ |
||||||||||
このプロパティには、トリガー(キッカケになるもの)の文字列を設定します。 どんな文字でも可能です。このプロパティは必須です。
トリガーにスペースを含む: フィルタリングされる文字列にはスペース(空白)を含めることができます。 しかし、一般的にコンフィギュレーションプロパティがロード(読み込み)される処理において、 先頭や末尾にあるスペース(空白)はトリム(切り落とし)されます。
ワイルドカード: Wrapper バージョン 3.5.5 から、 [wrapper.filter.allow_wildcards.<n>]プロパティを「TRUE」に設定した場合、 トリガー文字にワイルドカード(「*」や「?」)を含めることが可能です。 有効なワイルドカード文字は次のとおり:
注意トリガー値は、出力の一行内のどこかに配置されている文字列として検索されますので、 トリガー値の前後に「*」ワイルドカードをつける必要はありません。 もし、そうすると、パターン一致の処理が複雑化し、 「ログ出力の一行の中に指定されたトリガーが見つからない」と判定するまでに時間を要し、 ログ化パフォーマンスに若干の影響を与えることがあるのでご了解ください。 |
wrapper.filter.action.<n> プロパティ |
||||||||||
アクションを実行するには、このプロパティを設定する必須があります。 もしアクションが省略されていた場合、デフォルトの [RESTART] のアクションが実行されます。
可能なアクションは次のとおり:
複数のアクションを指定する: Wrapper バージョン 3.5.0 から、スペースやカンマで区切ることで、複数のアクションを指定することが可能です。 複数のアクションを指定すると、迅速に指定した順番で続けて実行されます。 次の例は、トリガー条件に一致した場合、スレッドダンプを実行して、その後、JVM を再起動します。
|
wrapper.filter.allow_wildcards.<n> プロパティ |
||||||||
このプロパティには、[wrapper.filter.trigger.<n>] プロパティに設定するトリガー文字にワイルドカードを「利用する (TRUE)/利用しない (FALSE)」を設定します。 もし TRUE に設定すると、 [wrapper.filter.trigger.<n>] フィルターに含まれているワイルドカードを処理します。詳しくは下記の使用例を参照ください。
注意利用することは構わないのですが、ワイルドカードを含むトリガー文字を検索することは、CPU に負荷を強いることになります。 これは特に長い出力行を伴う場合に、トリガーのワイルドカードがトリガーの冒頭に設定されているとき、顕著に表れます。 同じトリガーの中に複数のワイルドカードを利用すると、 全ての組み合わせでパターン一致を検索することになるため、動作がスローダウンします。 |
使用例: |
||||||||||||||||||||||||||||||||||||||
このセクションでは、トリガーを最大に活かす様々な使用例ご紹介します。 フィルターは、JVM のコンソール出力をモニタリング(監視)することで動作します。 トリガーが例外で発動されるようにするために、 Java アプリケーションが、コンソールへフィルタリングされたメッセージを表示しなければなりません。
|