У меня есть локальный Region
, и я хочу сохранить Region
данные на диске. Как определить это с помощью DataPolicy
?
Как определить устойчивость к локальному ключевому региону GemFire?
Ответы (2)
Я не совсем уверен в том, о чем вы здесь спрашиваете, вопрос недостаточно подробен ... в любом случае перечисление DataPolicy
имеет значения PERSISTENT_REPLICATE
и PERSISTENT_PARTITION
, которые вы можете использовать при настройке региона, чтобы сделать его постоянным.
Надеюсь это поможет.
Если ваш регион действительно «локальный», в том смысле, что данные для региона хранятся только локально для узла данных 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, но это должно помочь вам.
Ваше здоровье! -Джон