Hazelcast против Ehcache + Hazelcast аннотации для кэширования на уровне сервиса / дао с помощью Spring и Hibernate? - PullRequest
3 голосов
/ 11 ноября 2011

Я хочу оценить распределенные кэши Hazecast и Ehcache.

Сначала узнайте, как их использовать с проектом Spring + Hibernate, имеющим стандартные слои dao / service.Ehcache имеет очень элегантные и простые в использовании аннотации, такие как:

@Cacheable(cacheName = "test", keyGenerator = @KeyGenerator (
            name = "SpELCacheKeyGenerator", properties = @Property(value = "#key.string(#args[0])", name = "expression")))

Есть ли что-то подобное для Hazelcast?Я не нашел никакой информации о том, как использовать Hazelcast для сущностей / dtos.

Ответы [ 2 ]

6 голосов
/ 06 мая 2012

Hazelcast 2.1 доступен и имеет реализации для Spring Cache. Spring Cacheable аннотацию теперь можно легко использовать с Hazelcast.

http://www.hazelcast.com/docs/2.1/manual/multi_html/ch14s03.html

3 голосов
/ 11 ноября 2011

Абстракция Spring Cache представлена ​​Spring 3.1 и предназначена для кэширования результатов методов, уменьшая, таким образом, количество выполнений на основе информации, доступной в кэше. Если вы хотите использовать EhCache или Hazelcast в качестве кэша Hibernate 2-го уровня, вам следует использовать конфигурацию Hibernate (с аннотациями Spring xml или Hibernate). Между кешем Hibernate L2 и кешем Spring нет никакой связи.

Spring имеет две готовые реализации провайдеров кеша. Из официальной документации: Spring Cache Abstraction

Существует две готовые интеграции, для JDK java.util.concurrent.ConcurrentMap и Ehcache.

На данный момент Hazelcast не имеет встроенного Spring Cache Provider. Но в публичной группе Hazelcast есть простой пост реализации. Смотрите ссылку ниже;

Интеграция кэшируемых аннотаций Spring 3.1 с Hazelcast

...