アプリケーションで負荷テストを行っているときに、 @Transactional および @Cacheable アノテーションを使用すると、休止状態が常にデータベース トランザクションを作成することに気付きました。これを防ぐ簡単な方法はありますか?春にこれを解決するためのより洗練された方法は、次のクラス/インターフェースを持つことです
- Servicelayer インターフェイス
- 単なるプロキシ/転送であるキャッシュ可能な注釈付きクラス
- トランザクション アノテーション実装クラス
何が起こるかは次のとおりです
コール 1:
- トランザクションが作成される
- クラスメソッドが呼び出される
- 結果がキャッシュされて返される
コール 2:
- トランザクションが作成される
- キャッシュされた結果が返される
好ましい結果は次のとおりです。
コール 1:
- トランザクションが作成される
- クラスメソッドが呼び出される
- 結果がキャッシュされて返される
コール 2:
- キャッシュされた結果が返される