0
我在我的spring-boot應用程序中使用cacheManager。如何在每次測試後重新加載CacheManager
並配置爲我的測試。
<bean id="cacheProvider" class="javax.cache.Caching" factory-method="getCachingProvider"/>
<bean id="cacheManager" factory-bean="cacheProvider" factory-method="getCacheManager"/>
在開始我的ehcache不是空的。
我在運行所有測試時遇到了一些邏輯問題。 我想在每次測試後重新加載我的cacheManager。
我試圖用@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
,但有一個錯誤
Caused by: java.lang.IllegalStateException: The CacheManager has been shut down. It can no longer be used.
at net.sf.ehcache.CacheManager.checkStatus(CacheManager.java:1623)
at net.sf.ehcache.CacheManager.getCacheNames(CacheManager.java:1611)
at org.ehcache.jcache.JCacheManager.refreshAllCaches(JCacheManager.java:325)
at org.ehcache.jcache.JCacheManager.getCache(JCacheManager.java:164)
at com.myapp.service.caching.EntityJCacheContainer.lambda$2(EntityJCacheContainer.java:115)
at com.myapp.service.caching.EntityJCacheContainer$$Lambda$72/1186361374.get(Unknown Source)
at com.myapp.service.caching.EntityJCacheContainer.getEntityCache(EntityJCacheContainer.java:120)
at com.myapp.service.caching.EntityStorageImpl.getEntities(EntityStorageImpl.java:119)
at com.myapp.service.DataServiceImpl.loadEntities(DataServiceImpl.java:70)
at com.myapp.service.ClassifierServiceImpl$FilterCriteriaVisitorImpl.visit(ClassifierServiceImpl.java:130)
at com.myapp.data.impl.FilterCriteriaBuilder$1.accept(FilterCriteriaBuilder.java:20)
at com.myapp.service.ClassifierServiceImpl.getClassifiers(ClassifierServiceImpl.java:70)
at com.myapp.controller.ClassifierManagerController.getClassifiers(ClassifierManagerController.java:159)
... 47 more
有什麼建議?