grails - 初始化高速缓存导致 “grails run-app”失败时发生异常

标签 grails ehcache

在我的Grails 2.5.4应用中,我安装了以下插件

compile ":cache:1.1.8"
runtime ":cache-ehcache:1.0.5"

运行grails run-app时,在启动时出现以下错误
java.lang.NullPointerException
    at grails.plugin.cache.ehcache.GrailsEhCacheManagerFactoryBean$ReloadableCacheManager.rebuild(GrailsEhCacheManagerFactoryBean.java:171)
    at grails.plugin.cache.ehcache.EhcacheConfigLoader.reload(EhcacheConfigLoader.groovy:63)
    at grails.plugin.cache.ConfigLoader.reload(ConfigLoader.groovy:42)
    at CacheGrailsPlugin.reloadCaches(CacheGrailsPlugin.groovy:202)
    at CacheGrailsPlugin$_closure3.doCall(CacheGrailsPlugin.groovy:158)

如果我构建WAR并查看lib目录,则它包含以下两个依赖项:
  • ehcache-2.9.0.jar
  • ehcache-core-2.4.8.jar

  • 根据this issue中的建议,我排除了ehcache-core中的传递性BuildConfig依赖项
    runtime (":hibernate:3.6.10.18") { 
      excludes "ehcache-core" 
    }
    

    如果我重建WAR,则排除了ehcache-core JAR,但在运行grails run-app时仍会在启动时遇到相同的错误。我怀疑问题的原因是ehcache依赖关系,但我不知道应该使用哪个JAR。

    最佳答案

    升级到休眠状态3.6.10.19似乎可以解决此问题。构建WAR时,包括以下ehcache依赖项:

  • ehcache-2.9.0.jar
  • hibernate-ehcache-3.6.10.Final.jar
  • 关于grails - 初始化高速缓存导致 “grails run-app”失败时发生异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53451212/

    相关文章:

    具有单个更新程序线程的 Java 多线程缓存

    java - Spring ehcache 未被使用

    java - 简单的 Java 缓存库或设计模式?

    grails - 填充域实例的Grails

    json - Grails : How to access the params coming as JSON format

    validation - Grails命令对象未验证

    spring - 在 Spring 4 中使用 ehcache 3

    hibernate - 查找具有特定Spring安全角色的用户

    tomcat - 如何在grails中跨子域获得相同的 session

    database - 当另一个进程修改数据库时,Hibernate 二级缓存失效