Quarkus 1.3 Kubernetes Java Framework Update Released
With so much attention focused on the release this month of Java 14, it would be easy to miss the latest update of Quarkus, the Kubernetes-native Java framework Red Hat launched last year. Quarkus 1.3 isn't a major release, but it comes with some important infrastructure tweaks and a nice list of bug fixes.
Quarkus, of course, is the lightweight, high-performance framework designed to reduce the footprint and latency of Java applications, specifically for cloud-native architectures, such as microservices, containers and serverless. It's tailored for the GraalVM and HotSpot JVMs, and combines support for the imperative programming model with support for cloud-native, event-driven, asynchronous and reactive models in the same platform.
Here are some of the changes in Quarkus 1.3:
- Vert.x: There's now only one Vert.x instance to handle everything in Quarkus instead of two. The change was made to reduce resource consumption.
- Banner: by default, an ASCII-art banner is now displayed when starting Quarkus. It can be customized, disabled for a given project, and disabled globally.
- New reactive programming API: it's called Mutiny, and it replaces the Axle and Reactive Streams Operators models (Reactive Streams and CompletionStage). The previous models are still functional, but deprecated and will be removed.
- Easy deployment to Kubernetes or OpenShift: the Kubernetes extension has been overhauled and now gives users the ability to deploy Quarkus applications to Kubernetes or OpenShift with almost no effort.
- Eclipse MicroProfile 3.3 specifications: The SmallRye extensions were updated to implement Eclipse MicroProfile 3.3. Quarkus 1.1 became compatible with the MicroProfile 3.2 in January. Quarkus 1.3 also passes the TCKs of all Eclipse MicroProfile 3.3 specifications.
- Default HTTP read timeout: The ability to configure the HTTP read timeout (via quarkus.http.read-timeout) has been added to this release. It comes with a default value of on minute.
- Spring compatibility layer: The Spring compatibility layer is now based on trimmed down artifacts that include only the necessary APIs and annotations instead of the full Spring jars.
- Hibernate ORM: Automatic association management via bytecode enhancement is disabled going forward. It is possible to disable the second level caching by setting the quarkus.hibernate-orm.second-level-caching-enabled configuration property to false.
- GraalVM 20.0 support: This release supports GraalVM 19.3.1, JDK 8; GraalVM 19.3.1, JDK 11; GraalVM 20.0.0, JDK 8; GraalVM 20.0.0, JDK 11.
This release also comes with some new extensions, including:
- Container images
- Security JPA
- Spring Cloud Config Client
- AWS X-Ray
- Qpid JMS
- Reactive MongoDB with Panache extension
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at firstname.lastname@example.org.