27.2. クライアント「ブラウザ」キャッシュ


RESTEasy では、 クライアントプロキシフレームワークや raw ClientRequest と使用するための、クライアント側のブラウザに似たキャッシュを作成することができます。 このキャッシュはサーバー応答と共に返される Cache-Control ヘッダの場所を見つけます。 クライアントが応答のキャッシュが可能であることを Cache-Control ヘッダが指定すると、 RESTEasy はローカルメモリ内に応答をキャッシュします。 このキャッシュは max-age 要件に従い、 Last-Modified ヘッダと ETag ヘッダの両方またはいずれかが元の応答と共に返されると、自動的に HTTP 1.1 キャッシュ再検証を実行します (Cache-Control やキャッシュ再検証に関する詳細は HTTP 1.1 仕様を参照してください)。
RESTEasy キャッシングは簡単に有効化することができます。 下記はクライアントプロキシフレームワークで使用されるクライアントキャッシュを表しています。
@Path("/orders")
public interface OrderServiceClient {

   @Path("{id}")
   @GET
   @Produces("application/xml")
   public Order getOrder(@PathParam("id") String id);
}
Copy to Clipboard Toggle word wrap
このインターフェースに対してプロキシを作成し、 次のようにプロキシのキャッシュを有効にすることができます。
import org.jboss.resteasy.client.ProxyFactory;
import org.jboss.resteasy.client.cache.CacheFactory;
import org.jboss.resteasy.client.cache.LightweightBrowserCache;

public static void main(String[] args) throws Exception
{
      RegisterBuiltin.register(ResteasyProviderFactory.getInstance());
      OrderServiceClient proxy = ProxyFactory.create(OrderServiceClient.class, generateBaseUrl());

      // This line enables caching
      LightweightBrowserCache cache = CacheFactory.makeCacheable(proxy);
}
Copy to Clipboard Toggle word wrap
呼び出しの実行にプロキシサーバーではなく ClientRequest クラスを使用している場合、 次のようにキャッシュを有効にすることができます。
import org.jboss.resteasy.client.ProxyFactory;
import org.jboss.resteasy.client.cache.CacheFactory;
import org.jboss.resteasy.client.cache.LightweightBrowserCache;

public static void main(String[] args) throws Exception
{
      RegisterBuiltin.register(ResteasyProviderFactory.getInstance());

      // This line enables caching
      LightweightBrowserCache cache = new LightweightBrowserCache();

      ClientRequest request = new ClientRequest("http://example.com/orders/333");
      CacheFactory.makeCacheable(request, cache);
}
Copy to Clipboard Toggle word wrap
デフォルトでは、 LightweightBrowserCache は 2 メガバイトの最大キャッシング領域を持っています。 これを変更するには、 プログラムで setMaxBytes() メソッドを呼び出します。 キャッシュが満杯になるとキャッシュされたデータはすべて自動的に削除されます 。 さらに複雑なキャッシングソリューションやサードパーティのキャッシュオプションをサポートするには、 resteasy-development リストへ連絡し、 コミュニティに相談してください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat