ホーム>source

私は地元の Region を持っています  そして、私は Region を持続させたいです  ディスクへのデータ。 DataPolicy を使用して定義する方法 ?

あなたの答え
  • 解決した方法 # 1

    私はあなたがここで何を尋ねているのか正確にはわかりません、質問は十分に詳細ではありません...いずれにしても、 DataPolicy  列挙には PERSISTENT_REPLICATE があります  および PERSISTENT_PARTITION  リージョンを構成して永続化するときに使用できる値。

    お役に立てれば。

  • 解決した方法 # 2

    リージョンが本当に「ローカル」である場合、リージョンのデータはGemFireデータノード(サーバー)またはクライアントまたはおそらくクラスターのピアメンバーのいずれか(いずれかの方法)にローカルにのみ格納されます。 、正しい地域のショートカットを使用してデータポリシーを指定できます。

    たとえば、アプリケーション/アレンジメントが ClientCache を使用している場合  (つまり、アプリケーションはキャッシュクライアントです)、 ClientRegionShortcut.LOCAL_PERSISTENT を使用してローカルのみの永続的なリージョンを定義できます 。

    アプリケーション/アレンジメントがピア Cache を使用している場合 (つまり、アプリケーションは実際にクラスター内のデータノード/サーバー、ピアメンバーとして参加している)、それでも RegionShortcut.LOCAL_PERSISTENT を使用してローカルのみの永続的なリージョンを定義できます 。

    GemFire API経由(ピア Cache ):

    Cache peerCache = new CacheFactory(..)
      .set(..)
      .create();
    RegionFactory localPersistentServerRegion = 
      peerCache.createRegionFactory(RegionShortcut.LOCAL_PERSISTENT);
    
    

    GemFire API( 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(peer 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の純粋な注釈ベースの構成モデルを使用して同じことを達成する他の方法もありますが、これでうまくいきます。

    乾杯! -ジョン

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ regex - PHP preg_replace:さまざまなURLのすべてのインスタンスを文から置き換える