当前位置: 首页 > 知识库问答 >
问题:

用于多ehcache的基于单Spring的ehcache管理器。多模块项目中的xml文件

庞元青
2023-03-14

我有一个多模块项目,所有模块都在自己的ehcache中定义其缓存配置。xml。该用例由现在未维护的“ehcache spring annotations”项目通过以下配置解决:

    <ehcache:annotation-driven cache-manager="ehCacheManager" create-missing-caches="true"/>

    <bean id="ehCacheManager" class="net.sf.itcb.addons.cachemanager.ItcbEhCacheManagerFactoryBean">
      <property name="configLocations" value="classpath*:ehcache.xml"/>
      <property name="shared" value="true"/>
    </bean>

我在Spring的缓存抽象中尝试了类似的东西。

    <cache:annotation-driven/>

    <bean id="cacheManager"
      class="org.springframework.cache.ehcache.EhCacheCacheManager" 
      p:cache-manager-ref="ehcache"/>

    <bean id="ehcache"
      class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"      
      p:config-location="classpath*:ehcache.xml"/>

然而,我遇到了这个例外:

Caused by: java.io.FileNotFoundException: 
  class path resource [classpath*:ehcache.xml] cannot be opened because
  it does not exist

有人能解释一下在多模块项目中为EhCache配置Spring缓存抽象的正确方法是什么吗?

共有2个答案

宗项禹
2023-03-14

最后,我们离开了ehcache。xml并开始为我们的缓存使用基于Java的配置,从而解决了这个问题。

冉伯寅
2023-03-14

如果您希望在单Spring上下文中有多个缓存管理器,那么您必须定义多个bean并向其添加限定符,以便能够根据某些上下文区分它们。

因此,这里没有特定于缓存的内容,它是Spring中同一类型的经典多个bean。

 类似资料:
  • 问题内容: 我正在使用ehcache 2.5.4。 我有一个对象,需要整天进行缓存,并在每天的00:00 am用新值刷新。 当前使用ehcache配置,我只能设置生存时间和空闲时间,但这取决于我创建对象的时间或使用时间。即: 有没有一种方法可以使ehcache根据特定的时间使特定的缓存过期。 问题答案: 我通过扩展Ehcache的类来做到这一点: 其余的操作就像将对象的新实例而不是放入缓存一样简单

  • 一些名为Foo的CVS存储库有几个模块,f.e.模块1,模块2 构建脚本执行cvs签出、编译和构建模块。所有模块的jar 构建完成后,文件系统看起来是这样的: 现在我想像这样使用sonar任务: 定义像sonar这样的全局sonar属性。用户名。。。声纳。projektName=Foo用于主项目和声纳。模块=模块1。模块2,。。。用于模块 然后在模块文件夹上循环,设置模块特定的声纳属性, 如声纳。

  • 我需要创建3个单独的文件。 我的批处理作业应该从Mongo读取,然后解析信息并找到“业务”列(3种业务类型:retAIL、HPP、SAX),然后为它们各自的业务创建一个文件。该文件应该创建任何一个retAIL formattedDate;HPP formattedDate;SAX formattedDate作为文件名和在txt文件中的DB中找到的信息。此外,我需要将.资源(new FileSyst

  • 我正在开发一款多味。(下面是gradle文件) 它使用一个名为的库,遵循相同的风格和 现在,对于棘手的部分,有一个名为的新模块,这个模块没有味道,但它需要作为依赖项 app.gradle: 追踪器。格拉德尔: 特色格拉德尔: 以下是我尝试渐变同步时出现的:

  • 嗨,朋友们,我正在开发一个基于maven的spring boot项目,这个项目是多模块的,其中一个模块是主模块,第二个模块是服务模块。我在主模块中有一个控制器,在Serivce模块中有一个服务 控制器 服务 在maven的多个模块中,这个场景可以很好地工作,但我还有一个以服务模块中的接口形式存在的存储库。 因此,当我从Main模块执行主类时,我的项目在服务模块中没有bookrepository(或

  • 我目前正在将一些项目转换为maven,并且在战争开始时遇到了一些问题。因此,我刚刚创建了一个非常简单的ehcache maven项目,我得到了一个类加载器类型的问题。这是我的POM: Spring Config:http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring