Menü
Developer

Microservices: Thorntail 2.4 setzt auf Java 11 und MicroProfile 2.2

Das aus WildFly Swarm hervorgegangene Werkzeug behält beim Umstieg von Java 8 auf Java 11 sein eigenes Modulsystem.

vorlesen Drucken Kommentare lesen 1 Beitrag

(Bild: Shutterstock)

Das Thorntail-Team hat Version 2.4 des auf Microservice-Architketuren ausgerichteten Open-Source-Werkzeugs veröffentlicht. Das aus WildFly Swarm hervorgegangene Tool zum Verpacken und Ausführen von Java-Anwendungen im Enterprise-Umfeld bringt vor allem unter der Haube Neuerungen mit. Es läuft nun auf und mit Java 11 und arbeitet mit MicroProfile 2.2 zusammen.

Die Anbindung an Java 11 ist insofern ein großer Schritt, als der Vorgänger noch auf Java 8 gesetzt hat, also eine Java-Version, die kein Modulsystem kannte und aus einer Zeit stammt, als die Programmiersprache nicht halbjährlich, sondern in großen zeitlichen Abständen und mit längeren Verzögerungen erschien. Mit Thorntail 2.4 darf Java 11 sowohl für das Verpacken in ein ausführbares sogenanntes Uber-Jar als auch zum Ausführen der Applikation zum Einsatz kommen.

Allerdings verwendet das Werkzeug sein eigenes Modulsystem, das historisch gewachsen ist: Thorntail lief vor dem 2.0-Release im Sommer 2018 unter dem Namen WildFly Swarm und ist aus dem Java-Anwendungsserver WildFly hervorgegangen, der wiederum die Open-Source-Variante des JBoss Enterprise Application Server ist. Daher setzt Thorntail auf JBoss Modules, das ab dem JDK 9 das Java-Modulsystem integriert und es unter Java 8 imitiert.

Zum Verwenden von erweiterten Java-11-Modulen müssen Entwickler diese im <dependencies>-Block der "jboss-deployment-structure.xml"-Datei angeben. Zum Einbinden des aktuellen Java-HTTP-Clients dient beispielsweise die Zeile <module name="java.net.http"/>. Hinsichtlich des Modulsystems ist noch zu beachten, dass Thorntail nur auf dem classpath arbeitet, während es den module-path nicht unterstützt.

Bezüglich der Anbindung an Eclipse MicroProfile ist Thorntail auf dem aktuellen Stand des Mitte Februar veröffentlichten 2.2-Release der Microservice-Plattform. Das bedeutet, dass es mit den vier aktualisierten APIs Fault Tolerance 2.0, OpenAPI 1.1, OpenTracing 1.3 und Rest Client 1.2 zusammenarbeitet. Interessanter als die aktualisierte Plattform ist im Zusammenspiel mit MicroProfile die erweiterte Anbindung an JSON-Web-Token (JWT). Zum einen haben die Macher die YAML-Konfiguration deutlich vereinfacht, zum anderen die Integration des Single-Sign-on-Systems Keycloak über keycloak-microprofile-jwt verbessert.

Weitere Neuerungen von Thorntail 2.4.0 wie das überarbeitete Gradle-Plug-in lassen sich dem Thorntail-Blog entnehmen. Die vollständige Liste der Neuerungen ist in den Release Notes auf der JBoss-Developer-Site aufgeführt. Anleitungen zum Herunterladen über Maven sowie einige vorgefertigte JAR-Dateien finden sich auf der Download-Seite.

(rme)