Я использовал Ehcache 3, и я новичок в Ehcache 3, и у меня есть менеджер кэша, заданный как:
private CacheManager cacheManager;
Теперь, когда объект создан, инициализируется cacheManager:
public ListPlanImpl() {
System.out.println("constructore being initalized");
System.getProperties().setProperty("java -Dnet.sf.ehcache.use.classic.lru", "true");
cacheManager = CacheManagerBuilder
.newCacheManagerBuilder().build();
cacheManager.init();
}
После инициализации cacheManager Это мой основной класс, в котором происходят все действия по получению и помещению в кеш. Я вставил несколько данных в разные кеши, такие как:
@Stateless
public class ListPlanImpl implements CachePlan,ListPlan {
private static final String CACHE_OPERATING_PARAMETER = "cache_key_operating_parameter";
private static final String CACHE_SECURITY_PARAMETER = "cache_security";
private static Cache<String, GenericClassForList> operatingParametersCache;
private static Cache<String, GenericClassForList> securitiesTradingParameterCache;
public void putInCache() throws ExecutionException, InterruptedException {
System.out.println("putting in list");
this.operatingParametersCache = cacheManager
.createCache("cacheOfOperatingParameters", CacheConfigurationBuilder
.newCacheConfigurationBuilder(
String.class, GenericClassForList.class,
ResourcePoolsBuilder.heap(1000000000)).withExpiry(Expirations.timeToLiveExpiration(Duration.of(60000,
TimeUnit.SECONDS))));
operatingParametersCache.put(CACHE_OPERATING_PARAMETER, new GenericClassForList(this.operatingParamService.getOperatingParamDTO()));
this.securitiesTradingParameterCache = cacheManager
.createCache("cacheOfSecurityTrading", CacheConfigurationBuilder
.newCacheConfigurationBuilder(
String.class, GenericClassForList.class,
ResourcePoolsBuilder.heap(1000000000)).withExpiry(Expirations.timeToLiveExpiration(Duration.of(60000,
TimeUnit.SECONDS))));
securitiesTradingParameterCache.put(CACHE_SECURITY_PARAMETER, new GenericClassForList(this.securitiesTradingParamsService.getSecuritiesTradingParamDTO()));
}
}
Я хочу отдельную функциюкоторый вернет мне имя всех кешей и общее количество данных в кеше, так что я могу показать в пользовательском интерфейсе, что кеш содержит данные. Я искал проблему, но не нашел решения.