あるクラスのオブジェクトを返す Cached メソッドがあります。私のアプリはマルチスレッドです。あるスレッドがキャッシュされたオブジェクトを取得して処理すると、別のスレッドもこのオブジェクトを取得および変更でき、最初のスレッドに問題が発生します。
@Cacheable(value="MyCache")
Script parse(String scriptText) {
return new MyObject(scriptText);
}
メソッドが同じオブジェクトではなく、キャッシュされたオブジェクトのコピーを返すように構成する方法。または、キャッシュされた値を要求するときにメソッドの結果をシリアル化し、逆シリアル化する方法。
Spring Boot と Ehcache を使用しています。