私はEhcacheの(2.4.3)Ehcacheのは
キャッシュは、DEV環境で使用されているが、それが使用されていない(春ブーツ(1.4.2.RELEASE)とを使用していますテストENVで働いていませんヒット)他の環境(テストとプロダクト)。
コードは以下の通りです:
のpom.xml
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
メインクラスで、SRCの下でのキャッシング
@EnableCaching
public class Application {
のための注釈の下に追加されている/メイン/リソース、ehcache.xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd"
updateCheck="true" monitoring="autodetect" dynamicConfig="true">
<cache name="languageCache"
maxEntriesLocalHeap="20"
overflowToDisk="false"
eternal="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LRU"/>
<cache name="countryCache"
maxEntriesLocalHeap="280"
overflowToDisk="false"
eternal="false"
diskPersistent="false"
memoryStoreEvictionPolicy="LRU"/>
..
..
more entries
</ehcache>
キャッシュ設定ファイル上記のコードで
@Configuration
@EnableCaching
public class CacheConfig {
@Bean
public CacheManager getEhCacheManager() {
(new EhCacheCacheManager(getEhCacheFactory().getObject())).getCache("languageCache");
return new EhCacheCacheManager(getEhCacheFactory().getObject());
}
@Bean
public EhCacheManagerFactoryBean getEhCacheFactory() {
EhCacheManagerFactoryBean factoryBean = new EhCacheManagerFactoryBean();
factoryBean.setConfigLocation(new ClassPathResource("ehcache.xml"));
factoryBean.setShared(true);
return factoryBean;
}
}
いくつかの質問:
1)それは
factoryBean.setConfigLocation(新ClassPathResource( "にehcacheによりこの行することです.xml "));
Dev env以外の環境でキャッシュがヒット/使用されていませんか?
2)CacheConfigファイルはまったく必要ですか?またはSpringブートはメインクラスのアノテーション(@EnableCaching)を使用してEhcacheを検出しますか?
他のenvでキャッシュが選択されていない(いくつかの設定がありませんか?)
は、あなたのクラスパスにehcache.xml
多くを持っている場合を除き、それは動作するはずですあなた
テスト環境と本番環境がdevとどのように違うのですか? コードに違いはありませんか?異なるSpringプロファイルまたは異なるMavenビルドプロファイル? ところで、コードは正常に見えます。 – PaulNUK
なぜ2つの 'EhCacheCacheManager'インスタンスを作成するのがハックのようですか?あなたの 'CacheManager'は' CacheManager'という名前にする必要があります。 –
こんにちはPaul、yes環境設定ファイルは環境によって異なります。しかし、私はこれらのparamファイルにキャッシュ用の設定を持っていません。 CacheConfig.javaでehcache.xmlを設定しているとき、ClassPathResource以外の何かを使うべきですか? – Khushi