Как настроить 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);
Другие вопросы по тегам