wrapper.filter.<x>.<n> Eigenschaften Übersicht |
Filter sind ein sehr leistungsstarkes Feature, welches es ermöglicht, ein neues Verhalten zu vorhandenen Anwendungen ohne Programmieraufwand hinzuzufügen. Es funktioniert durch die Überwachung der Konsolenausgabe einer JVM nach Textsequenzen. Sobald sie gefunden wurden, kann eine Anzahl von Aktionen unternommen werden. Beispiele leiten das Neustarten der JVM ein, wann immer ein spezifischer Fehler auftritt. Einige Anwendungen haben bekannte Programmierfehler, bei denen sie aufhören, zu funktionieren, sobald sie in einen bestimmten Zustand kommen. Dieses Feature ermöglicht es, auf solche Probleme umgehend einen Workaround parat zu haben, solange bis sie in der Anwendung gelöst werden können. Genutzte Eigenschaften, um Filter, wie unten beschrieben, zu konfigurieren:
Zu allermindestens muss ein Filter
wrapper. <n> Komponente:
In jedem Filter ist die "<n>" Komponente des Eigenschaftennamens eine ganze Integer-Zahl, die hochzählt von "1".
Standardmäßig darf es keine fehlenden Zahlen geben.
Die wrapper. Der Wrapper scannt definierte Filter in aufsteigender Reihenfolge durch Nutzung Ihrer <n> Zahl. Sobald ein Filter übereinstimmt, wird der Prozess an der Ausgabezeile anhalten. |
wrapper.filter.trigger.<n> |
||||||||||
Der Trigger kann jedwede Zeichenkette sein, und die folgende Eigenschaft ist für seine Konfiguration vonnöten.
Leerstellen in einem Trigger : Die Zeichenkette, die gefiltert wird, kann Leerstellen enthalten. Aber aufgrund der Art, wie Konfigurationseigenschaften im Allgemeinen geladen werden, werden jedwede vorangehenden oder nachlaufenden Leerstellen entfernt, sobald die Eigenschaft geladen wurde.
Wildcards:
Beginnend mit der Wrapper Version 3.5.5, ist es jetzt möglich, Wildcard/Platzhalter-Zeichen ('*' oder '?') in den Triggertext miteinzuschließen, wenn die
wrapper. Gültige Wildcard-Zeichen sind:
NOTETriggerwerte befinden sich irgendwo innerhalb einer Ausgabezeile, so dass es nicht notwendig ist, einen Wert mit einer "*" Wildcard voranzugehen oder nachzufolgen. Seien Sie sich bitte bewusst, dass dies tatsächlich die Geschwindigkeit des Loggings etwas reduziert, da es für den Musterabgleich schwieriger macht, festzustellen, dass ein vorgegebener Trigger NICHT in einer Zeile der Logausgabe gefunden wurde. |
wrapper.filter.action.<n> |
||||||||||
Die Definition einer Aktion erfordert, dass die folgende Eigenschaft konfiguriert wird. Wenn eine Aktion ausgelassen wird, führt dies standardmäßig zu einem NEUSTART.
Mögliche Aktionen sind:
Verketten mehrfacher Aktionen: Beginnend von der Wrapper Version 3.5.0, ist es möglich, mehr als eine Aktion, durch Trennen dieser per Leerstelle oder Komma, zu spezifizieren. Wenn mehr als eine Aktion spezifiziert wurde, werden diese in schneller Abfolge in der festgelegten Reihenfolge ausgeführt. Passend auf den Trigger wird das folgende Beispiel einen Thread-Dump erzeugen und dann die JVM neu starten.
|
wrapper.filter.allow_wildcards.<n> |
||||||||
Wenn auf TRUE eingestellt, wird diese Eigenschaft den Wrapper darüber informieren, jedwede Wildcard-Platzhalterzeichen, die in der
wrapper.
NOTEEs ist nicht so schlecht, aber das Suchen nach einem Trigger, der eine Wildcard enthält, kann etwas mehr speicherintensiv sein. Dies trifft insbesondere auf lange Zeilenausgaben zu, wenn die Wildcards des Triggers sich mehr zu Beginn des Triggers befinden. Mehrfache Wildcards im gleichen Trigger verlangsamen auch die Dinge, da der Wrapper alle möglichen Kombinationen durchprobieren muss, um zu sehen, ob das Muster übereinstimmt. |
Anwendungsbeispiel: |
||||||||||||||||||||||||||||||||||||||
In diesem Abschnitt zeigen wir Ihnen einige Beispiele, wie Sie von Trigger Gebrauch machen können. Filter funktionieren, indem diese die Konsolenausgabe der JVM überwachen. Damit ein Trigger durch einen Fehler ausgelöst werden kann, muss die Java-Anwendung die Nachricht, die von der Konsole gefiltert wurde, ausgeben.
|