Java-Framework: Quarkus 1.10 setzt standardmäßig auf JSON

Für REST-Ressourcen ist JSON nun standardmäßig eingestellt. Außerdem kann das Framework mehrere reaktive Datenquellen parallel ansprechen.

In Pocket speichern vorlesen Druckansicht

(Bild: Da Da Diamond/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Ein Jahr nach der ersten Hauptversion ist Quarkus 1.10 erschienen. Das Java-Framework bringt im aktuellen Release einige Anpassungen mit, die unter anderem die REST-Schnittstelle, die Hibernate-Anbindung und reaktive SQL-Clients betreffen. Da die ursprüngliche Version 1.10.0 zwei Probleme im Gepäck hatte, ist zum Zeitpunkt der offiziellen Ankündigung das 1.10.2-Release aktuell.

Nach Einschätzung (nicht nur) des Quarkus-Teams verwendet ein Großteil der REST-Schnittstellen die JavaScript Object Notation (JSON). Daher gilt das Format nun als Standard für alle REST-Ressourcen in Quarkus. Wer das Format in seiner Anwendung verwendet, kann daher auf die Annotationen @Produces und @Consumes verzichten. Anwendungen, die auf Content Type Negotiation setzen, müssen dagegen die Annotationen für die unterstützten Inhaltstypen verwenden.

Wer die zu Quarkus gehörige Template Engine Qute verwendet, findet Fehlermeldungen nun in einer eigenen Seite, die unter der Meldung den verantwortlichen Code zeigt.

Mit den erstellten Fehlerseiten lassen sich Fehler im Code für die Template Engine Qute besser aufspüren.

(Bild: Quarkus.io)

Erwähnenswert ist zudem, dass die reaktiven SQL-Clients nun mehr als eine Datenquelle nutzen können. Damit lassen sie sich ebenso mit mehreren Datenbanken verwenden wie reguläre JDBC-Datenquellen (Java Database Connectivity).

Darüber hinaus lassen sich einige ORM-Konfigurationen (Obect-relational Mapping, objektrelationale Abbildung) für das Hibernate-Framework neuerdings nicht nur zur Build-, sondern auch zur Laufzeit festlegen. Allerdings betrifft das zunächst lediglich fünf Properties: quarkus.hibernate-orm.database.generation, quarkus.hibernate-orm.database.generation.create-schemas, quarkus.hibernate-orm.database.generation.halt-on-error, quarkus.hibernate-orm.log.sql und quarkus.hibernate-orm.log.format-sql.

Red Hat hatte Quarkus im März 2019 erstmals angekündigt und im November desselben Jahres Version 1.0 veröffentlicht. Wenig bescheiden bezeichnet die Quarkus-Site das Framework als "Supersonic Subatomic Java". Red Hat hat für Quarkus vier Richtlinien vorgegeben: Container First, Unifies Imperative and Reactive, Developer Joy und Best of Breed Libraries. "Container First" stellt Container in den Vordergrund, allen voran Kubernetes und Docker. "Unifies Imperative and Reactive" beschreibt, dass das Framework zwar ein reaktives Programmiermodell bevorzugt, einen imperativen Stil aber ebenso ermöglicht.

Als drittes Versprechen soll Quarkus "Developer Joy" bringen, also beim Entwickeln Spaß machen, statt umständlich zu sein. In der Tat bringt das Framework einige Erweiterungen von Haus aus mit, die den Programmieralltag erleichtern, darunter vorgefertigte JUnit-5-Erweiterung für Unit-Tests und einen Developer-Modus für das Maven-Plug-in. Schließlich sollen "Best of Breed Libraries" beim Entwickeln helfen. Die Projektseite spricht von gut 50 Bibliotheken, die sich mit dem Framework nutzen lassen. Für die Anbindung setzen die Macher auf Standards wie Contexts and Dependency Injection (CDI). REST-Endpunkte lassen sich über JAX-RS (Java API for RESTful Web Services) beschreiben.

Weitere Neuerungen in Quarkus 1.10 unter anderem im Zusammenspiel mit Amazon Web Services und der Google Cloud lassen sich dem Quarkus-Blog entnehmen.

(rme)