We have released Jersey 1.19, the open source, production quality, reference implementation of JAX-RS 1.1. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here.
For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting started section of that guide. To understand more about what Jersey depends on read the dependencies section of that guide. See change log here.
This article describes changes in Jersey 1.19, Reference Implementation of JAX-RS 1.1. If you’re looking for JAX-RS 2.0 Reference Implementation refer to the Jersey 2.15 is released article or Latest Jersey Versions.
Jersey 1.x and JDK8
Probably the most anticipated change among all. Gili provided a Pull Request which brings JDK 8 support for Jersey 1.x applications. The change updated (internally repackaged) ASM library to version 5 used on server for package scanning for JAX-RS resources and providers. Thanks!
JAX-RS 1.1 classes no longer in Jersey Core
This is a possible breaking change when upgrading from older (<= 1.18.4) versions of Jersey to the latest one. We decided to remove bundled JAX-RS 1.1 classes from Jersey Core module.
If you’re not using a dependency manager (e.g. Maven) in your projects you need to manually add JAX-RS 1.1 APIs to your class-path. The library is available for download on Maven Central under the following coordinates:
If you’re running your Jersey 1.x application in OSGi don’t forget to register the jsr311-api module as well to satisfy dependency of Jersey Core (Client/Server).
Jakub submitted some CDI improvements (available also in micro releases of Jersey 1.18):
- Support for CDI when deploying an EAR that contains multiple JAX-RS based WARs in it
- Custom Priority annotation that allows to select a particular IoCCompomentProvider instance for each component
- Better lookup for injecting CDI beans
WADL JSON Schema Example
Adam added new example that demonstrates the wadl-json-schema extension module. It generates JSON Schemas for produced/consumed types and exposes it under application.wadl/[bean-name] path. It also changes the <representation> element in WADL XML by adding references to the schemas.
Bugs, Tasks and Improvements
- Luis updated the URL encoding algorithm so that it iterates over code points (ints) instead of code units (chars) and fixed Unicode Astral characters included in Uri parts. Thanks!
- Also thanks to Ingar who migrated an unfortunate mistake in Jersey Multipart which caused creation of temporary files (without deleting them) to check whether mimepull library (used in multipart module) would work properly.
- Also now it’s able to use Jersey Multipart module on Google AppEngine without encountering problems described here.
- GZIPContentEncodingFilter leak has been fixed.