これはなに
Jersey 2.26 のリリースノートの内容のメモです。
https://eclipse-ee4j.github.io/jersey.github.io/release-notes/2.26.html
Jersey 2.26 は、 HK2 系のライブラリが Jersey core ライブラリから分離されるなど、破壊的変更が入ったバージョンになります。
一部割愛しているので、全文を読みたい場合は元の英語文章を読んでください。
内容
Jersey 2.26 は、 JAX-RS 2.1 の仕様に従って実装されており、JAX-RS 2.1 で新規追加された機能が Jersey にも追加されています。
JAX RS 2.1 の仕様について: https://jcp.org/en/jsr/detail?id=370
JAX-RS 2.1 で追加された機能は以下の通りです
- Reactive Client Invocation
- サーバーとクライアントが Server sent events (SSE) をサポート
- サーバーサイドで CompletionStage をサポート
- その他の細かい修正
Jsersey 2.26 ではには破壊的変更が含まれています。
JAX-RS の仕様に従うため、Jersey がオリジナルで実装していた Reactive Client API は削除され、 JAX-RS 2.1 の仕様に従ったReactive Client が追加されます。
他にも大きな変更があります。これまで Jersey の core ライブラリに含まれていた injection framework を、 core から分離して独立させることにしました。
Jersey 2.x は injection ライブラリの HK2 に強く依存していますが、これがしばしば問題を引き起こしていました。特に問題が起こっていたのが、他の injection ライブラリと同時に使った場合です。
そこで、 Jersey で独自の injection facade を実装して置き換えました。
引き続き hk2 の injection を利用したい場合は、依存を追加する必要があります。
<groupId>org.glassfish.jersey.inject</groupId> <artifactId>jersey-hk2</artifactId> <version>2.26</version>