Next: Instrumentierung ausgewählter JavaBeans
Up: Implementierung der Architektur für
Previous: Implementierung der Architektur für
Die erforderlichen Erweiterungen der Beanbox beschränken sich
auf das Einfügen von startTA- bzw. stopTA-Aufrufen in die
generierten Adapterklasse n, also die Klassen, die die Verknüpfung
zweier Beans realisieren, unmittelbar vor Aufruf einer Bean
bzw. unmittelbar nach Rückkehr von einem Aufruf. Eine besondere
Anpassung der Beanbox für die Integration instrumentierter
Beans ist nicht erforderlich.
Abbildung:
Erweiterung des Entwicklungswerzeugs Beanbox
40#40 |
Die Generierung der Adapterklasse n erfolgt in der
Beanbox in der Klasse HookupManager.java mittels Aufrufen
der print-Methode, die den Javacode der
Adapterklasse erstellen. Somit konnte durch
Einfügen weiterer Aufrufe von print die erforderliche
Erweiterung auf einfache Art und Weise realisiert werden. Die
eingefügten Anweisungen sind im in Abbildung
dargestellten Ausschnitt aus der Klasse HookupManager.java
wiederum durch kräftigeren Druck hervorgehoben.
Unmittelbar bevor ein Methodenaufruf in die Adapterklasse eingefügt
wird, wird nun ein startTA-Aufruf eingefügt, der dem Meßobjekt
den Start der Subtransaktion meldet. Der eigentliche Methodenaufruf
erfolgt nun in einer try/catch-Umgebung, die eventuell
auftretende Exceptions (bzw. Errors) der aufgerufenen
Methode abfängt. Je nachdem, ob eine Exception auftritt oder
nicht, wird nach Rückkehr aus der aufgerufenen Methode ein Aufruf von
stopTA mit dem geeigneten Wert für status eingefügt. Trat
eine Exception auf, so wird diese nach Übermittlung an das
Meßobjekt erneut geworfen, um den ursprünglichen Programmablauf
beizubehalten. Ein Beispiel für eine mit Hilfe dieser erweiterten
Entwicklungsumgebung generierten Adapterklasse ist in
Abbildung
dargestellt.
Abbildung:
Von erweiterter Beanbox generierte Adapterklasse
41#41 |
Next: Instrumentierung ausgewählter JavaBeans
Up: Implementierung der Architektur für
Previous: Implementierung der Architektur für
Copyright Munich Network Management Team