2

Spring のドキュメントでは、以下の情報が提供されています。

<bean id="cacheManager"
   class="org.springframework.cache.jcache.JCacheCacheManager"
   p:cache-manager-ref="jCacheManager"/>

<!-- JSR-107 cache manager setup  -->
<bean id="jCacheManager" .../>

春のアプリケーション コンテキスト xml でこの jcacheManager Bean (EhCache をプロバイダーとして) を構成する方法を正確に知りたいです。

以下のように、 pom.xml で依存関係を既に構成していますが、これは問題ありません。

<dependency>
    <groupId>org.ehcache</groupId>
    <artifactId>jcache</artifactId>
    <version>1.0.1</version>
    <exclusions>
        <exclusion>
            <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
    </exclusions>
</dependency> 
4

2 に答える 2

0

どのように構成したいかによって異なります。Spring Boot 1.3 を使用している場合は、自動的に作成されます。多分あなたはのソースを見ることができますJCacheCacheConfigurationか?

経由でデフォルト を取得できますjavax.cache.CacheManagerCaching.getCachingProvider().getCacheManager()

于 2015-07-06T13:00:42.713 に答える
0

今 Ehache3.x を Spring4.x に統合するのは不便です。Spring Boot がそれを行い、いくつかのコードを書き換えます。

<bean id="cacheManager"
   class="org.springframework.cache.jcache.JCacheCacheManager"

春のブートでは、それは次のとおりです。

@Bean
    public JCacheCacheManager cacheManager(CacheManager jCacheCacheManager) {
        return new JCacheCacheManager(jCacheCacheManager);
    }

javax.cache.CacheManager インスタンスが必要です。

<!-- JSR-107 cache manager setup  -->
<bean id="jCacheManager" .../>

Ehcache には詳細な紹介はありません。

春のブーツは好きです:

@Bean
    @ConditionalOnMissingBean
    public CacheManager jCacheCacheManager() throws IOException {
        CacheManager jCacheCacheManager = createCacheManager();
        List<String> cacheNames = this.cacheProperties.getCacheNames();
        if (!CollectionUtils.isEmpty(cacheNames)) {
            for (String cacheName : cacheNames) {
                jCacheCacheManager.createCache(cacheName, getDefaultCacheConfiguration());
            }
        }
        customize(jCacheCacheManager);
        return jCacheCacheManager;
    }

Ehcache ドキュメントに従って javax.cache.CacheManager を作成するのは通常の操作です。

于 2016-12-02T03:37:27.707 に答える