Servlet 3.0 に準拠したキャッシング
動的キャッシュは、Servlet 3.0 の仕様にサーブレット・キャッシング・サポートを提供します。
Servlet 3.0 に準拠した動的キャッシュを使用する場合、以下の API 特性に注意してください。
- 動的キャッシュは、ServletRequestWrapper および ServletResponseWrapper オブジェクトを継承した独自のキャッシュ・アプリケーション・ラッパー・オブジェクトとともに、ServletRequest および ServletResponse オブジェクトをラップします。
- 動的キャッシュは常に、ServletRequest に追加される最初の asyncListener です。
- startAsync (ServletRequest req, ServletResponse res) および public AsyncContext startAsync() のユーザーは、応答をフラッシュしてからこのメソッドを呼び出す必要があります。応答をフラッシュすることで、ラップされたキャッシュ応答に書き込まれたデータが失われることを確実に防げます。
- public void addListener (asyncListener, req, res) に渡された要求オブジェクトおよび応答オブジェクトに対して、読み取りも書き込みもしないでください。指定された AsyncListener の登録後に追加のラッピングが行われた可能性があり、それらに関連付けられたリソースを解放するために使用された可能性があります。
- do-not-consume プロパティーは、Servlet 3.0 で動的キャッシュを使用する場合にはサポートされません。 ランタイムは、強制的に親サーブレットがサブフラグメントをコンシュームするようにするため、do-not-consume プロパティーは無視されます。