Spring bootを使用せずに、Ehcache 3をSpring 4で動作させようとしています。
これはSpring Bootを使用する実用的な例です ですが、SpringBootを使用していない既存のアプリケーションで作業しています。
問題は、spring-context-support(Springのキャッシュアノテーションを追加)がEhcacheのCacheManagerがこのクラスパスにあることを期待していることです:net.sf.ehcache.CacheManager
ただし、Ehcache 3では、CacheManagerクラスは別のクラスパスorg.ehcache.CacheManagerにあります。
したがって、基本的に、spring-context-supportはEhcache 3をサポートしていません。また、Springが提供するアノテーションではなく、JSR-107アノテーションを直接使用する必要があります。
しかし、どうやらそれはSpringBootで動作します。おそらく、標準のSpringアプリケーションでも機能させる方法があります。それが私が望んでいることです。 JSR-107アノテーションではなく、Spring独自のアノテーションを使用したいのですが。
実際、SpringCachingではEhcache3のネイティブサポートはありません。
良いニュースは、Ehcache 3が 準拠のJCache実装 であるため、Spring Cachingが持つ JCache support で必要なことを実現できることです。また、アプリケーションコンテキストでJCache CacheManager
を使用できるようになれば、JCacheアノテーションを使用する必要はありません。 SpringCachingのものを問題なく使い続けることができます。
あなたはそのデモを見つけることができます ここ 。
注:私はEhcacheに取り組んでいます
これは、ehcache 2から3へのすべての必要な変更のためのシンプルで実用的なサンプルです https://imhoratiu.wordpress.com/2017/01/26/spring-4-with-ehcache-3-how-to/
これは新しい構成へのリンクです: