Micronaut® framework 4 is here! And it's faster, more cloud native, more secure and better than ever!
As a key Engineering Partner, Oracle has been investing heavily and collaborating closely with the Micronaut Foundation to provide open source contributions to the Micronaut framework. Graeme, a Micronaut founder, and his team of Micronaut experts at Oracle Labs have been leading and developing key Micronaut projects such as Micronaut Core, Micronaut Data, Micronaut Serialization, and Micronaut Oracle Cloud.
We are thrilled to share some notable features in Micronaut framework 4 developed in collaboration with the Micronaut Foundation. And who better to explain than Graeme himself!
Micronaut Serialization, a fully featured compile-time replacement for Jackson, is now the default in Micronaut framework 4. Micronaut Serialization provides reflection-free, fast and secure JSON serialization/deserialization APIs whilst maintaining API compatibility with Jackson annotations. See the Micronaut Serialization guide for more information.
Micronaut framework 4’s GraalVM integration has been reworked to use the Shared GraalVM Metadata offered by the GraalVM Native Build Tools project. Micronaut projects can benefit from the growing library of shared GraalVM metadata contributed by the community. Compiling Micronaut applications that depend on third-party libraries with GraalVM Native Image just got easier!
Micronaut framework 4 is more modular allowing developers to deploy even smaller microservices with reduced native executable sizes, docker images and faster startup.
Micronaut framework 4 comes with new Cloud modules including improved support for all clouds. For Oracle Cloud, the Oracle Cloud SDK has been enhanced to be compatible with Micronaut Serialization improving the speed and security of requests and responses by eliminating the need for Jackson. The transport layer for the Oracle Cloud SDK has also been replaced with Netty, avoiding the need for a second HTTP client (Jersey) when writing applications, resulting in smaller container images and improved startup performance. You can also use the new Oracle Cloud Certificate service module to configure and manage HTTPS certificates from the Cloud with automatic refresh of expired certificates.
You can take advantage of early support for Virtual Threads (Project Loom) with JDK 19 and above by configuring the Micronaut IO/worker thread to use Virtual Threads.
The HTTP layer based on Netty has been rewritten and optimized for Virtual Threads, removing the need for reactive stack frames when they are not necessary. HTTP performance has also been increased overall offering up to 50% throughput improvement. Finally, experimental support for HTTP/3 and IO_Uring are also available.
A new compile-time expression language (EL) has been added to Micronaut providing the ability to define expressions in annotations that are type safe and compile-time checked. Expressions can be used for several uses cases, including conditional job scheduling, security rules, and conditional routing.
The latest version of Micronaut Data JDBC comes with support for Oracle Database 23c and JSON Relational Duality Views. JSON Relational Duality Views provides the benefits of both relational tables and JSON documents, without the trade-offs of either approach.
We will be shipping Graal Cloud Native (GCN) 4, a curated set of open source Micronaut® framework modules to simplify cloud application development, soon. Stay tuned for more updates.
Micronaut® is a registered trademark of Object Computing, Inc. Use is for referential purposes and does not imply any endorsement or affiliation with any third-party product.
Graeme is one of the founders of the Micronaut Open Source project. He leads the team at Oracle Labs who contribute heavily to the development of the framework, including driving the development of key Micronaut projects such as Micronaut Core, Micronaut Data, Micronaut Serialization and Micronaut Oracle Cloud.
Sachin Pikle is a Product Strategy Director for GraalVM and Graal Cloud Native in Oracle Labs.