Resilience4j, a lightweight fault tolerance library designed for functional programming, has released version 2.0 that includes support for Java 17 as well as dependency upgrades to Kotlin, Spring Boot, and Micronaut. The new version also removes the dependency on Vavr to make it a more lightweight library.
The removal of Vavr has been explained by Robert Winkler, Solution Architect at Deutsche Telekom AG and creator of Resilience4j
A functional library for Java, Vavr, provides immutable collections as well as supporting functions and control structures. The latest version, 0.10.4, was released in July 2021. Formerly known as Javaslang, the library was first released in 2013 before being rebranded as Vavr in 2017.
After version 1.7.1, released in June 2021, resilience4j 2.0.0 is the first major release since version 1.0.0 in September 2019.
Currently, the library requires Java 17, the latest available LTS version, which permits users to run the library on Java 17 and take advantage of features such as Sealed Classes. Additionally, Kotlin 1.7.20, Spring Boot 2.7, and Micronaut 3.7.3 were upgraded.
Resilience4j offers several features, including CircuitBreaker, which prevents access to a service when it is not responding properly on time. This prevents the service from being overloaded.
By providing annotations such as @CircuitBreaker, @RateLimiter, @Bulkhead, @Retry and @TimeLimiter, Spring Boot makes it even easier to use Resilience4j. A more detailed description of the options is provided in the Getting Started Guide for Spring Boot 2.
AWS Lambda SnapStart Accelerates Java Functions
The recent AWS re:Invent event announced an update to its FaaS offering AWS…
Kotlin 1.8.0 beta introduces experimental features
A new version of the Kotlin programming language adds support for Java 19…