Может, кто-нибудь быстро взглянет, что не так с моим кодом, который должен хранить кеш в памяти вне кучи через GridGain?
Моя конфигурация такая же, как на вики-странице (http://doc.gridgain.org/latest/Off-Heap+Memory)
Моя конфигурация следующая:
<!-- Enable OffHeap -->
<property name="offHeapMaxMemory" value="#{2L * 1024L * 1024L * 1024L}"/>
<!-- Always store cache entries in off-heap memory, evict to Swap. -->
<property name="memoryMode" value="OFFHEAP_TIERED"/>
Однако jconsole показывает, что данные все еще записываются в память кучи, так как они колеблются, и когда я пытаюсь получить данные, которые я сохранил, я получаю нулевой результат.
Код следующий:
final GridCache<String, Object> cache = grid.cache("partitioned");
for (long i = 0; i < 1000; i++) {
cache.putx(String.valueOf(i), hundredBytes.clone());
if (i % 1024 * 1024 == 0) {
System.out.println(i + "bytes inserted");
}
}
System.out.println("Cache size: " + cache.size());
Последняя строка показывает мне «Размер кеша: 0». Странно, наверное, я не совсем понимаю, как получить доступ к Off Heap memory. Есть ли для этого другой/отдельный API?
заранее спасибо