Jersey project continues to develop three branches, Java EE / Jakarta EE 8 – Jersey 2.x, Jakarta EE 9 – 3.0.x, and the new Jakarta EE 10 – 3.1.x. Recently, Jersey 2.37, and 3.0.8 were released. Jersey 3.1.0-M8 is still a milestone release, although very close to the final. Only a few dependencies are not final, yet, and Jersey 3.1 keeps releasing milestones in the meantime.
These releases bring a couple of new features. The full list of the features and updates can be found in multiple locations. They are the Eclipse Jersey project home page, Jersey GitHub wiki page, and the usual GitHub Releases link describing a list of commits.
Jersey started to support Gson, the Google JSON library, as a reaction to multiple customer requests. Jersey supports multiple JSON frameworks already, such as Jackson, Jettison, Moxy, and mainly Json Binding/Yasson. With recent Jersey, Gson adds to the list with the following dependency:
Jersey also supports CompletionStage<Response> as a resource method return type.
A significant amount of work has been done on Connectors:
- In a previous Jersey release, Apache HTTP 5 Client connector was introduced.
- Currently, proxy support has been fixed in the Netty connector.
- The default HttpUrlConnector supports ClientProperties.PROXY_URI, PROXY_USERNAME, PROXY_PASSWORD, as well as the system http.proxyHost property.
- Jetty connector supports a new TOTAL_TIMEOUT property.
- Jersey 3.1.0 supports new JDK 11 java.net.http (jnh) HTTP client based connector (jersey-jnh-connector).
- In a previous 3.0.x release, Jersey brought back support for Helidon Connector (JDK 17+ only) based on Helidon 3, which supports Jakarta EE 9/MicroProfile 5.
MicroProfile 5 comes with Jakarta EE 9 support, which allows Jersey 3 for being compliant with MP RestClient 3, and MP Config 3 support can be used (Both Helidon 3 Config helidon-microprofile-config on JDK 17+ or SmallRye Config smallrye-config on JDK 11+ can be used) for Jersey 3.
Jersey 3 also introduced Spring 6 support for JDK 17+ (Spring 6 supports Jakarta EE!) and Jersey provides two examples helloworld-spring-webapp and helloworld-spring-annotations.
As always, give new Jersey a try and let us know how you like it.