Spring ehcache IllegalArgumentException:找不到名为的缓存

时间:2018-10-12 17:13:46

标签: spring ehcache

我在spring ehcache中工作,我在下面的代码中spring junit工作正常。但是,如果从我的代码运行它,则会抛出如下错误

java.lang.IllegalArgumentException: Cannot find cache named 'productCategoryCache' for Builder[public com.tagit.mobeixbank.db.domain.CardsProductSTB com.tagit.mobeixbank.db.util.MobeixBankCacheManager.getAccountProductDetail(java.lang.String)] caches=[productCategoryCache] | key='' | keyGenerator='' | cacheManager='' | cacheResolver='' | condition='' | unless='' | sync='false'

我这里有Java代码

@Override
@Cacheable(value="productCategoryCache", key="'productCategories'")
public CardsProductSTB getProductCodeByProductId(String productId) throws ModelException {
    LOG.info("getProductCodeByProductId : "+productId);
    //my db logic
    } catch (Exception e) {
        e.printStackTrace();
        throw new ModelException("Error occured in [CardsProductSTB.findByProductId]", e);
    } finally {
        closeSession();
    }
    return productDetails;
}

以下是我的上下文XML配置:

<diskStore path="java.io.tmpdir/mobeix" />

<defaultCache maxEntriesLocalHeap="10000" eternal="false"
    timeToIdleSeconds="120" timeToLiveSeconds="120" diskSpoolBufferSizeMB="30"
    maxEntriesLocalDisk="10000000" diskExpiryThreadIntervalSeconds="120"
    memoryStoreEvictionPolicy="LRU" statistics="true">
    <persistence strategy="localTempSwap" />
</defaultCache>

<cache name="productCategoryCache" maxEntriesLocalHeap="1000"
    maxEntriesLocalDisk="1000" eternal="false" diskSpoolBufferSizeMB="20"
    timeToIdleSeconds="200" timeToLiveSeconds="500"
    memoryStoreEvictionPolicy="LFU" transactionalMode="off">
    <persistence strategy="localTempSwap" />
</cache>

<cache name="transactionMatrixCache" maxEntriesLocalHeap="1000"
    maxEntriesLocalDisk="1000" eternal="false" diskSpoolBufferSizeMB="20"
    timeToIdleSeconds="200" timeToLiveSeconds="500"
    memoryStoreEvictionPolicy="LFU" transactionalMode="off">
    <persistence strategy="localTempSwap" />
</cache>
</ehcache>`

请帮助我哪里做错了。这个问题困扰着我很多时间。

0 个答案:

没有答案