2016-07-05 4 views
0

Я настраиваю свои кеши от ehcache.xml файл, среди других конфигураций Я установил там maxBytesLocalHeap для всех кешей.Как программно использовать maxBytesLocalHeap для конкретного кеша?

У меня также есть веб-интерфейс, где я должен показать все доступные кеши, их фактический размер и максимальный размер.

Я могу получить глобальный maxBytesLocalHeap, но я не могу найти способ получить это для каждого кеша. Есть ли способ сделать это? (Или обходной путь, если невозможно получить его через общедоступные API-интерфейсы Ehcache)

PS: Мои кэши используют только память на куче.

ответ

1

@ Flowryn..you может получить каждую & каждую деталь о каждых Кэшах с использованием StatisticsGateway Class ... Используйте cache.getStatistics(). GetLocalHeapSizeInBytes() Я дополнение к выше, существует много методов, которые u может использовать для показа на вашем веб-интерфейсе ...

Сообщите мне, если вам нужно какое-либо разъяснение.

+0

Спасибо, Робин, просто разъяснение, можете ли вы также упомянуть свою текущую версию? Я думаю, это 2.10. На данный момент мы используем 2.6 в нашем проекте, и я думаю, нам нужно будет мигрировать, поскольку этот метод там недоступен. – Flowryn

+0

Да, у меня версия 2.9. но есть еще один способ, который вы можете использовать, просто проверьте это [CacheStatistics] (http://www.ehcache.org/apidocs/2.9/net/sf/ehcache/management/CacheStatistics.html) ........ Это содержит другие методы, такие как getOffHeapStoreObjectCount() getMemoryStoreObjectCount() ... Может быть полезно –