6.3. JAX-RS リソースに対するコンテキストと依存性注入の無効化
より優れたランタイムを提供し、基礎となるスタックを可能な限り活用するために、javax.ws.rs.core.Context
アノテーションを使用したコンテキストデータの注入ポイントがすべて削除されました。期待されるパフォーマンスの改善点として、要求のライフサイクル中にプロキシーインスタンスを複数回作成する必要がなくなり、実行時のリフレクションコードの量が大幅に削減されることが挙げられます。
現在の要求および応答オブジェクトにアクセスする必要がある場合は、KeycloakSession
から直接それらのインスタンスを取得できるようになりました。
@Context org.jboss.resteasy.spi.HttpRequest request; @Context org.jboss.resteasy.spi.HttpResponse response;
これは以下に置き換えられました。
KeycloakSession session = // obtain the session, which is usually available when creating a custom provider from a factory KeycloakContext context = session.getContext(); HttpRequest request = context.getHttpRequest(); HttpResponse response = context.getHttpResponse();
追加のコンテキストデータは、KeycloakContext
インスタンスを通じてランタイムから取得できます。
KeycloakSession session = // obtain the session KeycloakContext context = session.getContext(); MyContextualObject myContextualObject = context.getContextObject(MyContextualObject.class);