복붙노트

[SPRING] 스프링 어노테이션으로 ehcache 3 사용 (스프링 부트 사용 안함)

SPRING

스프링 어노테이션으로 ehcache 3 사용 (스프링 부트 사용 안함)

Spring 부트를 사용하지 않고 Spring 4에서 Ehcache 3를 사용하려고합니다.

다음은 Spring Boot를 사용하는 예제입니다. 그러나 Spring Boot를 사용하지 않는 기존 어플리케이션에서 작업하고 있습니다.

문제는 스프링 컨텍스트 지원 (Spring의 캐쉬 어노테이션 추가)은 Ehcache의 CacheManager가이 클래스 경로에 있어야한다는 것이다. net.sf.ehcache.CacheManager

그러나 Ehcache 3에서 CacheManager 클래스는 다른 클래스 경로 인 org.ehcache.CacheManager에 상주합니다.

따라서 기본적으로 Spring 컨텍스트 지원은 Ehcache 3을 지원하지 않습니다. Spring에서 제공하는 주석이 아닌 JSR-107 주석을 직접 사용해야합니다.

하지만 분명히 Spring Boot와 함께 작동합니다. 아마 표준 Spring Application과 함께 작동하도록하는 방법이있을 것입니다. 그게 내가 원하는거야. JSR-107 주석 대신 Spring 자체의 주석을 사용하고 싶습니다.

해결법

  1. ==============================

    1.실제로 스프링 캐싱에서 Ehcache 3의 기본 지원은 없습니다.

    실제로 스프링 캐싱에서 Ehcache 3의 기본 지원은 없습니다.

    좋은 소식은 Spring 캐싱이 가지고있는 JCache 지원으로 Ehcache 3가 호환되는 JCache 구현이므로 원하는 것을 얻을 수 있다는 것입니다. 그리고 애플리케이션 컨텍스트에서 JCache CacheManager를 사용할 수있게되면 JCache 주석을 사용해야합니다. 아무 문제없이 Spring Caching을 계속 사용할 수 있습니다.

    여기에서 데모를 찾을 수 있습니다.

    참고 : 나는 Ehcache에서 일하고있다.

  2. ==============================

    2.이것은 ehcache 2에서 3으로 필요한 모든 변경 사항에 대한 간단한 샘플입니다 : https://imhoratiu.wordpress.com/2017/01/26/spring-4-with-ehcache-3-how-to/

    이것은 ehcache 2에서 3으로 필요한 모든 변경 사항에 대한 간단한 샘플입니다 : https://imhoratiu.wordpress.com/2017/01/26/spring-4-with-ehcache-3-how-to/

    이것은 새로운 구성에 대한 링크입니다.

  3. from https://stackoverflow.com/questions/39386830/using-ehcache-3-with-spring-annotations-not-using-spring-boot by cc-by-sa and MIT license