我正在尝试使Ehcache 3与Spring 4一起使用而不使用Spring Boot。
这是一个使用Spring Boot的工作示例,但是我正在使用一个不使用Spring Boot的现有应用程序。
问题是spring-context- support(添加了Spring的缓存注释)期望Ehcache的CacheManager处于以下类路径中:net.sf.ehcache.CacheManager
但是,在Ehcache 3中,CacheManager类位于另一个类路径:org.ehcache.CacheManager。
因此,基本上spring-context-support不支持Ehcache3。您将必须直接使用JSR-107注释,而不是Spring提供的注释。
但是显然它可以与Spring Boot一起使用。也许还有一种方法可以使其与标准Spring Application一起使用。那就是我所希望的。我真的很想使用Spring自己的注释,而不是JSR-107注释。
实际上,Spring Caching中没有Ehcache 3的本机支持。
好消息是,由于Ehcache 3是兼容的JCache实现,因此可以使用Spring Caching 的JCache支持来实现所需的功能。而且,一旦您CacheManager在应用程序上下文中拥有一个JCache ,就不会强迫您使用JCache注释。您可以毫无问题地继续使用Spring Caching。
CacheManager
注意:我正在使用Ehcache