Red Hat recently released version 2.7 of the Red Hat build of Quarkus to support enterprise developers building Kubernetes-native Java applications. The latest release has several great new features and performance improvements, including tools to improve developer productivity.
Let’s take a look at some highlights from this release. For a complete list, check out the release notes.
One of the founding principles of Quarkus is to bring joy to Java developers by creating a frictionless experience through a combination of tools, libraries, extensions, and more. This release continues that mission by making developers more efficient with new tools and services such as Hibernate search, dev services, and a Kafka UI.
Hibernate search is now fully supported, providing a powerful tool for free text search capability to data. Normal Jakarta Persistence API (JPA) queries are limited to SQL queries which only query per column. With Hibernate search, developers can easily express how their Java model should be indexed and searchable. Hibernate search can also extend web page search to a full-text search of your Java domain, including searches for synonyms, sound-alike words, and more. Check out the documentation and the Quarkus Insights session to learn more, or watch this video on Hibernate Search from Red Hat Developer.
When an application starts in dev mode, dev services provide automatic provisioning of unconfigured services, such as a database or identity server. When Quarkus adds the service extension, it automatically starts the relevant service and wires your application to use it. This release adds to the growing list of dev services, including Neo4j, Keycloak, Infinispan, Vault, and more.
The Kafka UI (Figures 1 and 2) allows developers to visualize Apache Kafka Streams for reactive applications within the Dev UI. The UI shows how the event streams sink in topics and how applications consume the streams from topics. The UI illustrates how the application aggregates streams from multiple topics to a single topic. The UI also showcases the continuous sequence of sourcing, joining, and aggregating streams in Kafka clusters. The Red Hat Developer article Visualize your Apache Kafka Streams using the Quarkus Dev UI has more on this topic.
Performance and framework efficiency
Quarkus makes Java supersonic and subatomic, with fast startup times, low memory footprint, and a small disk footprint. This release continues to improve the Quarkus framework's performance and efficiency.
UPX is an open source, portable, high-performance executable packer that takes an executable as input and produces a compressed executable. Quarkus can now automatically perform UPX compression as part of the container creation process. By using UPX to compress a native executable, developers can build containers that are smaller than 30MB with Quarkus in them. Learn more about compressing native executables using UPX.
Quarkus enables Java developers to create performant, easily deployable and maintainable applications on Kubernetes and the Red Hat OpenShift Container Platform. This release includes many impactful Kubernetes-Native features.
In a distributed microservice architecture, discovery and load balancing can be challenging with interactions between services. Developers can use Stork (currently in tech preview) to fully abstract away the service discovery for Consul, Eureka, Kubernetes/OpenShift, or static machines. Learn more about how to use SmallRye Stork in the Quarkus guide, or check out this Red Hat Developer video on the subject.
Community and standards
Quarkus starts and ends with the community. Quarkus includes a vast ecosystem of over 400 extensions and support for popular Java APIs and standards. This release continues that mission with new features and standards support.
Java 17 support
This release includes improved developer tools for using Java 17. Now you can generate projects based on Java 17 without manually configuring the version. This release also includes a Technology Preview for Java 17 in native mode (Figure 3).
The best way to experience the new features of Quarkus is to start using it. Generate your code at code.quarkus.redhat.com.
You can find more Quarkus resources on Red Hat Developer: