1

Spring over Ehcacheによって提供されるアノテーションを使用して、おそらくSpEl式を使用して、条件を満たすエントリを削除したいと思います(例:エントリの削除endDate> now)。

そんな感じ :

 @CacheEvict(value = Array("intensities"), condition = "samples.end > now")
 def save(samples: Samples[Intensity]) = {
   ...
 } 
4

1 に答える 1

1

より高度なエビクション機能は、基盤となるEhcache実装に固有であるため、Springが提供する基本的な抽象化では構成できません。セクション28.5.2およびSpringのドキュメント28.7を参照してください。

Ehcacheの削除動作をehcache.xmlファイルで構成できます。コードが達成しようとしていることとまったく同じではありませんが、timeToLiveSeconds属性は探しているものである可能性があります。詳細については、Ehcacheのドキュメントを参照してください。

アップデート

考え直してみると、次のSpEL式は、Ehcache固有の設定に触れることなく、意図したとおりに実行されます。

@CacheEvict(
    value = Array("intensities"),
    condition = "samples.end.after(new java.util.Date())")
def save(samples: Samples[Intensity]) = {
   ...
} 
于 2012-09-17T15:43:48.157 に答える