I'm trying to get Ehcache 3 working with Spring 4 without using Spring boot.
Here is a working example out there which uses Spring Boot, but I'm working on an existing application which is not using Spring Boot.
The problem is that spring-context-support (which adds Spring's cache annotations) expects the Ehcache's CacheManager to be on this classpath: net.sf.ehcache.CacheManager
However, in Ehcache 3, the CacheManager class resides on another classpath: org.ehcache.CacheManager.
So, basically spring-context-support does not support Ehcache 3. And you would have to use the JSR-107 annotations directly, not the annotations provided by Spring.
But apparently it works with Spring Boot. Perhaps there is a way to make it work with a standard Spring Application as well. That's what I'm hoping. I really want to be using Spring's own annotations instead of the JSR-107 annotations.
Indeed there is no native support of Ehcache 3 in Spring Caching.
The good news is that you achieve what you want with the JCache support that Spring Caching has since Ehcache 3 is a compliant JCache implementation.
And once you have a JCache CacheManager
available in your application context, nothing forces you to use the JCache annotations. You can keep using the Spring Caching ones without any problem.
You can find a demo of that here.
Note: I am working on Ehcache