© Excellent backgrounds/Shutterstock.com
Konfiguration für Enterprise-Umgebungen

Viele Plattformen - ein Anwendungscode


In den vorherigen Teilen dieser Serie haben wir uns mit den Anforderungen an Konfiguration befasst, bereits vorhandene Lösungsansätze bewertet, die Grundkonzepte hinter Apache Tamaya [1], [2] näher betrachtet sowie die wichtigsten Erweiterungsmodule [3] vorgestellt. In diesem abschließenden Artikel der Serie diskutieren wir nun den Einsatz von Apache Tamaya in Enterprise-Umgebungen.

Bevor wir uns genauer mit der Verwendung von Apache Tamaya in Enterprise-Umgebungen beschäftigen, stellt sich zuallererst die Frage, wie diese sich von den bereits im vorherigen Artikel betrachteten Java-SE-Umgebungen unterscheiden. Die Unterschiede entstehen durch die verschiedenen Runtime-Plattformen, wie Java EE, Spring oder OSGi, mit ihren nicht standardisierten Klassenladern und sich unterscheidenden Sichtbarkeiten von Klassen. Dadurch entstehen nicht nur große Unterschiede zur Java-SE-Umgebung sondern auch zwischen diesen Plattformen. Diese Unterschiede überbrückt Apache Tamaya durch spezifische Integrationskomponenten, wodurch derselbe Anwendungscode auf unterschiedlichen Plattformen verwendet werden kann. Wie dies genau aussieht, werden wir uns nachfolgend genauer ansehen.

Integrationskonzept von Apache Tamaya

Tamaya geht die Integration von zwei Seiten an: Einerseits geht es darum, die bestehenden Mechanismen der Plattformen auf Basis von Tamaya zu implementieren, andererseits die Laufzeitsysteme mit neuer Funktionalität zu erweitern, speziell dem bequemen Injecten von Konfiguration. Aktuell stehen dafür die folgenden Module zur Verfügung:

  • tamaya-clsupport bietet eine generische Implementierung des ServiceContext SPI, das mit Klassenladerhierarchien umgehen kann. Die Komponente stellt sicher, dass Services mit dem Klassenlader assoziiert werden, wo diese auch erstmalig sichtbar sind. Des Weiteren lässt sich durch Traversierung der Klassenladerhierarchien sicherstellen, dass keine Services innerhalb einer Hierarchie mehrfach geladen werden.

  • tamaya-cdi stellt die Funktionen von Tamaya für Lösungen zur Verfügung, die das Java EE Context and Dependency Injection Framework (CDI) verwenden. Somit kann man Tamaya im Java-EE-Stack ab Version 6 einsetzen.

  • tamaya-spring implementiert analog zu Spring-Config [4] die Integration mit dem Spring Environment und kann als Quelle für die dort verwendeten PropertyPlaceHolder-Mechanismen dienen. Ebenfalls wird ein BeanPostProcessor implementiert, der mithilfe des tamaya-injection-Basismoduls Konfigurationsinjektion ermöglicht.

  • tam...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang