Bugfixes & API Refactoring

Coming Soon: Project Helidon 1.0

Dominik Mohilo

© Shutterstock / Trevor Jones

Oracles neues Open Source Java Framework für das Erstellen von Java Microservices in Cloud-Umgebungen, Project Helidon, steht kurz vor dem ersten Major Release. Mit Version 0.11.0 wurde ein umfangreiches Refactoring der APIs vorgenommen, mit dem die kommende Veröffentlichung von Helidon vorbereitet wird.

Die Schwalben pfeifen es von den Dächern: Project Helidon 1.0 steht in den Startlöchern. Bevor allerdings nun Euphorie ausbricht, kurz durchatmen. Ein genauer Veröffentlichungstermin ist noch nicht festgelegt, allerdings laufen die Vorbereitungen für das erste Major Release des Java Frameworks auf Hochtouren, wie Version 0.11.0 zeigt. Für das aktuelle Minor Release wurde ein umfangreiches API Refactoring umgesetzt, aber auch einige Bugs wurden behoben.

API Refactoring für Helidon

Helidon 0.11.0 bereitet – zumindest in Sachen APIs – die Nutzer umfangreich auf Version 1.0 vor. Enthalten im Minor Release sind etliche Änderungen an einzelnen APIs, die so aller Voraussicht nach auch Teil der ersten Hauptversion sein werden. Die Änderungen reichen von kleinen Eingriffen im Bereich der MicroProfile-Jigsaw-Module, die nun in Modulnamen microprofile anstelle von md verwenden, bis hin zum großen Refactoring des Config APIs:

Das Config API enthält nicht mehr die Methode Config.value(). Stattdessen wurde die Methode Config.asString() implementiert. Außerdem sind sämtliche Methoden, die direkt auf einen typisierten Wert zugreifen und eine MissingValueException ausgaben, wurden entfernt. Das API gibt nun ConfigValue aus, ein „echtes“ Optional mit wenigen zusätzlichen Methoden. In dem Zusammenhang wurden übrigens auch alle typisierten Methoden entfernt, Methoden mit der entsprechenden Funktionalität finden sich in ConfigValue. Das Config API unterstützt darüber hinaus jetzt Generics.

Beispiele (Quelle: Oracle):

// original
config.value().ifPresent(this::setValue);
// new
config.asString().ifPresent(this::setValue);

Wer nach dem Update die Unterstützung für Prometheus sucht, wird im Root-Level-Modul metrics fündig, dort liegt ab Helidon 0.11.0 auch das Modul helidon-metrics-se. Hinzu kommen natürlich jeweils die Gruppen-IDs, Artefakt-IDs und die entsprechenden Packages. Die Implementierung von MicroProfile wird vollständig vom neuen Modul io.helidon.microprofile.metrics:helidon-microprofile-metrics abgedeckt.

Dies sind nur einige wenige Änderungen, die in Sachen APIs vorgenommen wurden, sämtliche Informationen zum Refactoring der APIs finden sich auf GitHub.

Weitere Änderungen & Bugfixes

Neben den Änderungen im Bereich APIs wurde der WebServer auf Netty 4.1.30 aktualisiert und für den WebServer von Helidon SE sind Health Checks nun verfügbar. Weniger technisch ist das Update der Dokumentation, die nun eine Anleitung für das Erstellen von Docker Images und einige Richtlinien für die Arbeit mit Helidon enthält.

Was Bugs angeht sollte die Kompilierung mit Java 11 nun funktionieren und der WebServer sollte seine Arbeit in Verbindung mit Eclipse Jersey ab sofort auch einwandfrei verrichten. Dort gab es Probleme bei der Pfadkodierung.

Weitere Informationen zu Helidon 0.11.0 können den Release Notes auf GitHub entnommen werden. Informationen zu dem Projekt selbst gibt es auf der Homepage des Frameworks und auf JAXenter.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: