ehcache дает ошибку после миграции весенней загрузки с 1.5.12 на 1.5.13 - PullRequest
0 голосов
/ 05 июня 2018

Я настроил весеннюю загрузку 1.5.12 + ehcache и все работало нормально, пока я не обновил весеннюю загрузку до 1.5.13

application.yml имеет следующую запись

spring:
  cache:
    jcache:
      provider: org.ehcache.jsr107.EhcacheCachingProvider
      config: ehcache.xml

myehcache.xml находится в каталоге resources

Я получаю сообщение об ошибке:

Caused by: java.lang.IllegalArgumentException: Cache configuration does not exist 'ServletContext resource [/ehcache.xml]'
    at org.springframework.util.Assert.isTrue(Assert.java:92)
    at org.springframework.boot.autoconfigure.cache.CacheProperties.resolveConfigLocation(CacheProperties.java:117)
    at org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration.createCacheManager(JCacheCacheConfiguration.java:113)
    at org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration.jCacheCacheManager(JCacheCacheConfiguration.java:97)
    at org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration$$EnhancerBySpringCGLIB$$e5c3a047.CGLIB$jCacheCacheManager$1(<generated>)
    at org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration$$EnhancerBySpringCGLIB$$e5c3a047$$FastClassBySpringCGLIB$$a6ae7187.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358)
    at org.springframework.boot.autoconfigure.cache.JCacheCacheConfiguration$$EnhancerBySpringCGLIB$$e5c3a047.jCacheCacheManager(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
    ... 47 common frames omitted

Похоже, весенняя загрузка начала поиск ehcache.xml с помощью распознавателя servletContext.

ps Я не вносил никаких изменений ни в один из исходных кодов, за исключением весеннего обновления при загрузке до 1.5.13

Я пропустил некоторые необходимые настройки здесь?

1 Ответ

0 голосов
/ 13 июля 2018

Я разобрался с решением этой проблемы.Нам нужно указать префикс classpath: с именем файла, чтобы он работал.

Мой application.yml теперь будет выглядеть так

spring:
   cache:
     jcache:
        provider: org.ehcache.jsr107.EhcacheCachingProvider
        config: classpath:ehcache.xml

Надеюсь, это поможет.

...