AspectJ-IDE
Lösungen zu Kapitel 10
- Wenn Sie sich z.B. das Interface src/casino/player/RoulettePlayer.java
im AspectJ-Visualizer anschauen, werden Sie einige Aspekte wie PlayerLogging oder RoulettePlayerAspect
entdecken, die dieses Interface beeinflussen bzw. implementieren.
- Da Logging nur über die Log-Aspekte erledigt wird,
müssen Sie nur diese anpassen und dort die import-Anweisung und
Initialisierung des Loggers abändern:
import org.apache.commons.logging.*;
...
public aspect PlayerLogging extends AbstractLoggingAspect {
private static Log log = LogFactory.getLog(PlayerLogging.class);
...
}
siehe src/casino/log/AbstractLoggingAspect.aj,
LogAspect.aj, PlayerLogging.aj, RouletteLogging.aj
Bei Jakarta-Commons-Logging
handelt es sich nur um einen Wrapper um einige gängige
Logging-Frameworks wie z.B. Log4J.
Wenn Sie log4j.jar über den Classpath verfügbar machen, wird
dieses Framework benutzt.
- src/casino/player/Player.java implementiert das
RoulettePlayer-Interface
jetzt selbst. Weitere Änderungen waren nicht notwendig, allerdings
läuft die Anwendung jetzt ohne Logging.
- Bei der Rück-Verwandlung sollte es keine Probleme geben.
Evtl. muss die Compilierung explizit angestoßen werden.
Falls Sie die Muster-Lösung ausprobieren wollen, sollten Sie noch ein "data"-Verzeichnis
erstellen (z.B. über 'ant init').
letzte Änderung: 16. August 2005