Как настроить NearCache с Hazelcast 3.5 без явного клиента
Исходя из этого вопроса, я пытаюсь перейти на версию 3.5-EA Hibernate.
До сих пор у меня была такая конфигурация:
CacheConfiguration<K, V> configuration = new CacheConfig<K, V>()
.setNearCacheConfig(new NearCacheConfig().setInMemoryFormat(InMemoryFormat.OBJECT))
.setExpiryPolicyFactory(createExpiryPolicyFactory(expiryDuration));
cache = cacheManager.createCache(cacheName, configuration);
Но теперь setNearCacheConfig
метод ушел. Там существует только addNearCacheConfig
на ClientCacheConfig
, Но у меня нет ClientCacheConfig
,
Я в основном не знаю, где поставить NearCacheConfig
,
3 ответа
На мой взгляд, функция NearCache полезна, когда вы используете API-интерфейс hazelcast Client-Server и когда вы пытаетесь получить доступ к кэш-памяти извне, но если вы собираетесь делать вызовы внутри кластера Hazelcast и не хотите использовать API-интерфейс Hazelcast, чем там. нет необходимости использовать функцию NearCache. Так как от этого не будет никакой пользы.
Настройка ближнего кэша может быть выполнена на стороне клиента. http://docs.hazelcast.org/docs/3.5/manual/html-single/hazelcast-documentation.html
Если вы не хотите использовать xml для настройки ( http://docs.hazelcast.org/docs/latest/manual/html-single/hazelcast-documentation.html), вы можете сделать что-то подобное -
Config cfg = new Config();
MapConfig mc = new MapConfig();
mc.setNearCacheConfig(new NearCacheConfig());
cfg.addMapConfig(mc);
HazelcastInstance hi = Hazelcast.newHazelcastInstance(cfg);