Suche
Beans, Beans, the magical fruit...

Bean Validation 2.0 veröffentlicht – ein letzter Meilenstein vor Java EE 8

Dominik Mohilo
© Shutterstock.com / Evgeny Karandaev

Vor wenigen Wochen wurde mit der Spezifikation CDI 2.0 eines der Kernstücke von Java EE 8 fertiggestellt. Auch die Wahl des JCP Executive Committees zum Update auf Version 2.0 der Bean Validation ist nun abgeschlossen, die Aktualisierung wurde einstimmig angenommen. Wir haben die Bean Validation 2.0 unter die Lupe genommen.

Vier Jahre sind ins Land gezogen, seit die letzte Version der Bean Validation mit Java EE 7 veröffentlicht wurde. Seit einem Jahr arbeiten das Team und die Community an der Bean Validation 2.0 Spezifikation, die sich beim JCP hinter der Abkürzung JSR 380 verbirgt. Mit dem einstimmigen Abschluss-Voting des Executive Committees des JCP ist die Spezifikation nun fertig und wird aller Voraussicht nach Teil des noch in diesem Jahr erscheinenden Java EE 8 sein.

Die Ergebnisse der JCP-Abstimmung zu Bean Validation 2.0 / Quelle: JCP

Bean Validation 2.0: die neuen Features

Bean Validation 2.0 wird fester Bestandteil der Java-EE-8-Plattform sein und hat natürlich auch eine Reihe neuer Features im Gepäck, wie es sich für eine neue Major Version gehört. Dazu zählt zum Beispiel die Unterstützung für das Validieren von Containerelementen durch das Annotieren von Typenargumenten parametrisierter Typen, etwa so: List<@Positive Integer> positiveNumbers. Diese Änderung beinhaltet unter anderem auch die Unterstützung für java.util.Optional und Property-Typen die von JavaFX deklariert werden.

Die Funktionsvielfalt der Bean Validation wurde für Version 2.0 zudem um den Support für die Zeit- bzw. Datumstypen aus dem JSR 310 für @Past und @Future erweitert. Eine bessere Kontrolle über die für die Validierung genutzte Zeitzone und aktuelle Zeit wird dem Nutzer damit an die Hand gegeben.

Sämtliche built-in Constraints sind ab Bean Validation 2.0 als wiederholbar gekennzeichnet; eine Reihe neuer solcher Constraints werden Teil der aktualisierten Spezifikation sein:

  • @Email
  • @NotEmpty
  • @NotBlank
  • @Positive
  • @PositiveOrZero
  • @Negative
  • @NegativeOrZero
  • @PastOrPresent
  • @FutureOrPresent

Ansonsten werden die Namen von Parametern zukünftig unter Verwendung einer Reflection abgerufen und ConstaintValidator#initialize() wird zur Standardmethode.

Mit Bean Validation 2.0 wurde ebenfalls die neuen Versionen des APIs und des Technology Compatibility Kits (TCK) veröffentlicht. Einen etwas detaillierteren Blick auf die Änderungen gibt es auf der Homepage der Bean Validation und in den Slides von Gunnar Morlings Talk, den er auf der jdk.io-Konferenz in Kopenhagen gab:

Wann kommt Java EE 8?

Eine große Frage steht allerdings nach wie vor im Raum: Wann wird Java EE 8 endlich veröffentlicht? Nun, der grobe Plan sah vor, dass das finale Release von Java EE 8 noch in diesem Sommer kommen soll. Auch auf der offiziellen Seite der Bean Validation spricht man davon, dass die Spezifikation Teil von Java EE 8 sein wird „das später im Sommer“ erscheint. Doch wann genau bleibt reine Spekulation.

Fakt ist, dass die abschließende Wahl durch das Executive Committee des JCP am gestrigen Dienstag, 8. August, offiziell gestartet wurde. Die Abstimmung läuft bis zum 21. August, sodass Oracle theoretisch zehn Tage blieben Java EE 8 noch im „Sommer“ zu veröffentlichen, wenn man den September denn bereits zum Herbst zählen möchte. Testen kann man Java EE 8 unterdessen im JavaEE8-Playground, den Josh Juneau auf GitHub zur Verfügung gestellt hat.

Lesen Sie auch: Java EE 8: Finaler Entwurf ist da – das sind die Highlights

Gleichzeitig mit dem Final Approval Ballot für das JSR 366, also der finalen Spezifikation von Java EE 8, findet übrigens die endgültige Abstimmung über das Java EE Security API (Codename: JSR 375) statt – so viel zu „safety first“.

Java EE 8 steht also kurz vor seiner Vollendung und damit neigt sich ein turbulentes Jahr in der Welt der Java Enterprise Edition dem Ende zu, das unter anderem die Gründung der Java EE Guardians in petto hatte. Die nächste Version, Java EE 9, wurde bereits für das kommende Jahr angekündigt. Dann soll der Enterprise Edition die modulare Runtime und ein verbesserter Support für Microservices spendiert werden. Allerdings ist noch völlig unklar, ob dieser Termin eingehalten werden kann und in welchem Quartal Java EE 9 das Licht der Welt erblicken soll. Es wird also erneut spannend.

Verwandte Themen:

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.