Как определить устойчивость к локальному ключевому региону GemFire?

У меня есть локальный Region, и я хочу сохранить Region данные на диске. Как определить это с помощью DataPolicy?


person user1628688    schedule 20.08.2018    source источник


Ответы (2)


Я не совсем уверен в том, о чем вы здесь спрашиваете, вопрос недостаточно подробен ... в любом случае перечисление DataPolicy имеет значения PERSISTENT_REPLICATE и PERSISTENT_PARTITION, которые вы можете использовать при настройке региона, чтобы сделать его постоянным.

Надеюсь это поможет.

person Juan Ramos    schedule 20.08.2018
comment
Эти 2 значения не поддерживаются в локальном регионе. Я спрашиваю, как настроить постоянство Java для локального (встроенного) региона? - person user1628688; 20.08.2018

Если ваш регион действительно «локальный», в том смысле, что данные для региона хранятся только локально для узла данных GemFire ​​(сервера) или, возможно, вашего приложения, если оно является либо клиентом, либо, возможно, одноранговым членом кластера (в любом случае) , то вы можете указать политику данных, используя правильный ярлык региона.

Например, если ваше приложение / устройство использует ClientCache (то есть ваше приложение является клиентом кеширования), вы все равно можете определять только ЛОКАЛЬНЫЕ постоянные регионы, используя _ 2_.

Если ваше приложение / устройство использует одноранговый узел Cache (т.е. ваше приложение фактически участвует в качестве узла данных / сервера, однорангового члена в кластере), вы все равно можете определять только ЛОКАЛЬНЫЕ постоянные регионы, используя _ 4_.

Посредством GemFire ​​API (равноправный Cache):

Cache peerCache = new CacheFactory(..)
  .set(..)
  .create();

RegionFactory localPersistentServerRegion = 
  peerCache.createRegionFactory(RegionShortcut.LOCAL_PERSISTENT);

Посредством API GemFire ​​(ClientCache):

ClientCache clientCache = new ClientCacheFactory(..)
  .set(..)
  .create();

ClientRegionFactory localPersistentClientRegion = 
  clientCache.createClientRegionFactory(ClientRegionShortcut.LOCAL_PERSISTENT);

Используя SDG XML (партнер Cache):

<gfe:local-region id="ExampleLocalPersistentServerRegion" persistent="true"/>

Используя SDG XML (ClientCache):

<gfe:client-region id="ExampleLocalPersistentClientRegion" 
  shortcut="LOCAL_PERSISTENT"/>

Используя SDG JavaConfig (одноранговый Cache):

@Configuration
@PeerCacheApplication
class GemFireConfiguration {

  @Bean
  LocalRegionFactoryBean exampleLocalPersistentServerRegion(
      GemFireCache peerCache) {

    LocalRegionFactoryBean exampleRegion = 
      new LocalRegionFactoryBean();

    exampleRegion.setCache(peerCache);
    exampleRegion.setClose(false);
    exampleRegion.setPersistent(true);

    return exampleRegion;
}

Используя SDG JavaConfig (ClientCache):

@Configuration
@ClientCacheApplication
class GemFireConfiguration {

  @Bean
  ClientRegionFactoryBean exampleLocalPersistentClientRegion(
      GemFireCache clientCache) {

    ClientRegionFactoryBean exampleRegion = 
      new ClientRegionFactoryBean();

    exampleRegion.setCache(peerCache);
    exampleRegion.setClose(false);
    exampleRegion.setPersistent(true);

    return exampleRegion;
}

Есть и другие способы сделать то же самое, используя чистый Модель конфигурации на основе аннотаций в SDG, но это должно помочь вам.

Ваше здоровье! -Джон

person John Blum    schedule 20.08.2018