Я планирую внедрить решение для кэширования в существующее веб-приложение. Ничего сложного: в основном параллельная карта, которая поддерживает переполнение на диск и автоматическое удаление. Кластеризация кэша может потребоваться в будущем, но не сейчас.
Мне нравятся функции ehcache copyOnRead и copyOnWrite, потому что это означает, что мне не нужно вручную клонировать объекты перед тем, как что-то вынуть из кэша. Теперь я начал смотреть на Infinispan , но я не нашел там ничего подобного. Это существует?
Т.е. должны пройти следующие юнит-тесты:
@Test
public void testCopyOnWrite() {
Date date = new Date(0);
cache.put(0, date);
date.setTime(1000);
date = cache.get(0);
assertEquals(0, date.getTime());
}
@Test
public void testCopyOnRead() {
Date date = new Date(0);
cache.put(0, date);
assertNotSame(cache.get(0), cache.get(0));
}