web-dev-qa-db-ja.com

ehcache 3とSpringアノテーションの使用(Spring Bootは使用しない)

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独自のアノテーションを使用したいのですが。

13
Håvard Geithus

実際、SpringCachingではEhcache3のネイティブサポートはありません。

良いニュースは、Ehcache 3が 準拠のJCache実装 であるため、Spring Cachingが持つ JCache support で必要なことを実現できることです。また、アプリケーションコンテキストでJCache CacheManagerを使用できるようになれば、JCacheアノテーションを使用する必要はありません。 SpringCachingのものを問題なく使い続けることができます。

あなたはそのデモを見つけることができます ここ

注:私はEhcacheに取り組んでいます

14
Louis Jacomet

これは、ehcache 2から3へのすべての必要な変更のためのシンプルで実用的なサンプルです https://imhoratiu.wordpress.com/2017/01/26/spring-4-with-ehcache-3-how-to/

これは新しい構成へのリンクです:

4
GKislin