かなり標準的な方法でセットアップされた Hibernate + Ehcache + Spring MVC webapp があります。
コントローラ -> サービス クラス -> DAO クラス -> DB
アプリは REST API であり、HTTP GET 要求に XML で応答します。すべてが期待どおりに機能しています。DB は必要な場合にのみヒットします。それ以外の場合、結果は Ehcache から取得されます。
私が望むのは、リクエストごとにキャッシュを使用する/使用しないことです。もちろん、デフォルトの動作でキャッシュを使用したいのですが、「nocache=1」パラメーターが渡された場合は、キャッシュを使用せず、代わりに DB を読み取る必要があります。
「useCache」パラメータをサービス クラス メソッドに追加し、次に DAO クラスに追加しようとしましたが、それは適切ではありませんでした。これを行うためのより良い/より良い方法はありますか? おそらく、ある種のサーブレットフィルターを使用していますか?