猫でもわかるWeb開発・プログラミング

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

Java Jersey 2.26 Release Notes 日本語メモ

これはなに

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>