2016-11-07 5 views
1

私は、自分自身のehcache.xmlでキャッシュ構成を定義するすべてのモジュールを持つマルチモジュールプロジェクトを持っています。 このユースケースは、このような構成により、今メンテナンスされていない「にehcache-春 - 注釈」プロジェクトによって対処されていますマルチモジュールプロジェクト内の複数のehcache.xmlファイル用の単一のSpringベースのehcacheマネージャー

<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のキャッシュ抽象化を構成するための正しい方法は何で説明してくださいことはできますか?

+0

Springプロジェクトで[issue](https://jira.spring.io/browse/SPR-14884)としてこれを発生させました。 –

答えて

0

単一のSpringコンテキストで複数のCacheManagersが必要な場合は、複数のBeanを定義し、いくつかのコンテキストに基づいてそれらを区別できるように修飾子を追加する必要があります。

ここでキャッシュに特有のことは何もないので、Springの同じタイプの古典的な複数のBeanです。

+0

こんにちは@ルイスJacomet、あなたの提案に感謝します。私は20以上のモジュールを持っていて、すべてにehcache.xmlファイルがあります。私が使用している現在のソリューションは、すべてのehcache.xmlファイルを単一の入力ストリームにマージし、単一のキャッシュマネージャを作成します。私はそれが春からサポートされているかどうか疑問に思っていました。 –

関連する問題