Package de.bund.bva.isyfact.logging.util
Class LoggingMethodInvoker<T>
java.lang.Object
de.bund.bva.isyfact.logging.util.LoggingMethodInvoker<T>
Hilfsklasse zum Aufruf von Methoden per Reflection und dem gleichzeitigen erstellen standardisierter
Logeinträge.
'T' ist die Ergebnisklasse der aufgerufenen Methode.
-
Constructor Summary
ConstructorDescriptionLoggingMethodInvoker
(Method methode, IsyLogger logger, boolean loggeAufruf, boolean loggeErgebnis, boolean loggeDauer, boolean loggeDaten, boolean loggeDatenBeiException, long loggeMaximaleParameterGroesse) Konstruktor der Klasse für den Aufruf einer Methode.LoggingMethodInvoker
(Method methode, IsyLogger logger, boolean loggeAufruf, boolean loggeErgebnis, boolean loggeDauer, boolean loggeDaten, boolean loggeDatenBeiException, long loggeMaximaleParameterGroesse, String nachbarsystemName, String nachbarsystemUrl) Konstruktor der Klasse für den Aufruf einer Methode eines Nachbarsystems. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
erstelleLogNachAufruf
(boolean aufrufErfolgreich, long dauer, Object[] parameter, Object ergebnis) Erstellt die Logeinträge nach dem Aufruf der Methode.protected void
Erstellt die Logeinträge nach dem Aufruf der Methode.fuehreMethodeAus
(Object ziel, Object... parameter) Führt die Methode mit den übergebenen Parametern auf dem übergebenen Zielobjekt aus und erstellt die entsprechenden Logeinträge.
-
Constructor Details
-
LoggingMethodInvoker
public LoggingMethodInvoker(Method methode, IsyLogger logger, boolean loggeAufruf, boolean loggeErgebnis, boolean loggeDauer, boolean loggeDaten, boolean loggeDatenBeiException, long loggeMaximaleParameterGroesse) Konstruktor der Klasse für den Aufruf einer Methode. Es werden die übergebenen Klassenattribute initialisiert.- Parameters:
methode
- auszuführende Methode.logger
- zu verwendender Logger.loggeAufruf
- Flag zum Kennzeichnen, ob die Dauer des Aufrufs gelogged werden soll.loggeErgebnis
- Flag zum Kennzeichnen, ob das Ergebnis (Erfolg/Misserfolg) des Aufrufs gelogged werden soll.loggeDauer
- Flag zum Kennzeichnen, ob die Dauer des Aufrufs gelogged werden soll.loggeDaten
- Flag zum Kennzeichnen, ob immer die kompletten Anfragedaten gelogged werden sollen.loggeDatenBeiException
- Flag zum Kennzeichnen, ob die kompletten Anfragedaten gelogged werden sollen, wenn das Ergebnis nicht erfolgreich war.loggeMaximaleParameterGroesse
- Konfigurationsparameter zum Festlegen der maximalen Größe von übergebenen Parameter des Aufrufs, mit der sie noch ins Log geschrieben werden.
-
LoggingMethodInvoker
public LoggingMethodInvoker(Method methode, IsyLogger logger, boolean loggeAufruf, boolean loggeErgebnis, boolean loggeDauer, boolean loggeDaten, boolean loggeDatenBeiException, long loggeMaximaleParameterGroesse, String nachbarsystemName, String nachbarsystemUrl) Konstruktor der Klasse für den Aufruf einer Methode eines Nachbarsystems. Es werden die übergebenen Klassenattribute initialisiert. Beim Aufruf von Nachbarsystemmethoden werd der Name und die URL des Nachbarsystems in die Logeinträge aufgenommen.- Parameters:
methode
- auszuführende Methode.logger
- zu verwendender Logger.loggeDauer
- Flag zum Kennzeichnen, ob die Dauer des Aufrufs gelogged werden soll.loggeAufruf
- Flag zum Kennzeichnen, ob die Dauer des Aufrufs gelogged werden soll.loggeErgebnis
- Flag zum Kennzeichnen, ob das Ergebnis (Erfolg/Misserfolg) des Aufrufs gelogged werden soll.loggeDaten
- Flag zum Kennzeichnen, ob immer die kompletten Anfragedaten gelogged werden sollen.loggeDatenBeiException
- Flag zum Kennzeichnen, ob die kompletten Anfragedaten gelogged werden sollen, wenn das Ergebnis nicht erfolgreich war.loggeMaximaleParameterGroesse
- Konfigurationsparameter zum Festlegen der maximalen Größe von übergebenen Parameter des Aufrufs, mit der sie noch ins Log geschrieben werden.nachbarsystemName
- Name des aufgerufenen Nachbarsystems.nachbarsystemUrl
- URL des aufgerufenen Nachbarsystems.
-
-
Method Details
-
fuehreMethodeAus
public T fuehreMethodeAus(Object ziel, Object... parameter) throws IllegalAccessException, InvocationTargetException Führt die Methode mit den übergebenen Parametern auf dem übergebenen Zielobjekt aus und erstellt die entsprechenden Logeinträge.- Parameters:
ziel
- Object, auf dem die Methode ausgführt werden soll.parameter
- Parameter, mit denen die Methode ausgeführt werden soll.- Returns:
- das Ergebnis des Methodenaufrufs.
- Throws:
IllegalAccessException
- wenn die Methode nicht zugreifbar ist.IllegalArgumentException
- wenn das Zielobjekt die aufgerufene Methode nicht bereitstellt.InvocationTargetException
- wenn die ausgerufene Methode eine Exception wirft.
-
erstelleLogVorAuruf
protected void erstelleLogVorAuruf()Erstellt die Logeinträge nach dem Aufruf der Methode. -
erstelleLogNachAufruf
protected void erstelleLogNachAufruf(boolean aufrufErfolgreich, long dauer, Object[] parameter, Object ergebnis) Erstellt die Logeinträge nach dem Aufruf der Methode.- Parameters:
aufrufErfolgreich
- gibt an, ob der Aufruf erfolgreich war.dauer
- die Dauer des Aufrufs.parameter
- Parameter, mit denen die Methode ausgeführt wurde.ergebnis
- Ergebnis des Methodenaufrufs (dies kann auch eine Exception sein).
-