27.3. ローカルのサーバー側応答キャッシュ


RESTEasy は、 JAX-RS サービスに対するローカルのサーバー側インメモリキャッシュを持っています。 JAX-RS リソースメソッドが Cache-Control ヘッダを設定する場合、 HTTP GET JAX-RS 呼び出しからマーシャリングされた応答を自動的にキャッシュします。 GET が受信されると、 URI がキャッシュに保存されたかを RESTEasy サーバーキャッシュが確認します。 true の場合、 マーシャリングされた応答は JAX-RS メソッドを呼び出さずに返されます。 各キャッシュエントリには、 初期要求の Cache-Control ヘッダにある仕様が有効になる 最大期間 があります。 また、 キャッシュは応答ボディ上の MD5 ハッシュを使用して ETag も自動的に生成します。 これにより、 クライアントは IF-NONE-MATCH ヘッダで HTTP 1.1 キャッシュ再検証を実行できます。 最初のキャッシュヒットがない場合でもキャッシュは再検証を実行しますが、 JAX-RS メソッドは同じ ETag を持つボディを返します。
Maven でサーバー側のキャッシュを設定するには、 resteasy-cache-core アーティファクトを使用しなければなりません。
<dependency>
   <groupId>org.jboss.resteasy</groupId>
   <artifactId>resteasy-cache-core</artifactId>
   <version>1.1.GA</version>
</dependency>
Copy to Clipboard Toggle word wrap
次に、 ServletContextListener である org.jboss.resteasy.plugins.cache.server.ServletServerCache を追加します。 web.xml ファイルの ResteasyBootstrap リスナの後にこれを指定する必要があります。
<web-app>
    <listener>
        <listener-class>
            org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
        </listener-class>
    </listener>

    <context-param>
        <param-name>resteasy.server.cache.maxsize</param-name>
        <param-value>1000</param-value>
    </context-param>

    <context-param>
        <param-name>resteasy.server.cache.eviction.wakeup.interval</param-name>
        <param-value>5000</param-value>
    </context-param>

    <listener>
        <listener-class>
            org.jboss.resteasy.plugins.cache.server.ServletServerCache
        </listener-class>
    </listener>

    <servlet>
        <servlet-name>Resteasy</servlet-name>
        <servlet-class>
            org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
        </servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Resteasy</servlet-name>
        <url-pattern>/rest-services/*</url-pattern>
    </servlet-mapping>

</web-app>
Copy to Clipboard Toggle word wrap
キャッシュの実装は JBoss Cache project を基にしています。 2 つの context-param 設定変数を設定することができます。 resteasy.server.cache.maxsize はキャッシュできるエレメント数を設定します。 resteasy.server.cache.eviction.wakeup.interval は、 陳腐化したエントリのキャッシュを削除するためバックグラウンドの排除スレッドを実行する割合を設定します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat