2017-01-13 20 views
0

私は、Pivo​​tal GemFireの要件を持つプロジェクトに取り組んでいます。 SpringブートでgemFireを設定する方法に関する適切なチュートリアルが見つかりません。GemFire - Spring Boot Configuration

私はパーティション化されたリージョンを作成しましたが、ロケータも設定したいのですが、クライアントが他の誰かによって処理されるため、サーバー側の設定のみが必要です。

私はPivotal GemFireを完全に新しくして本当に混乱しています。私はcache.xmlを作成しようとしましたが、何とかcache.out.xmlが作成され、多くの問題があります。

+0

また、私はgfshコマンドを使用することはできません。プロパティファイルが必要です。 –

答えて

1

@ Priyanka-

spring.ioのガイドで始めるのが最適です。具体的には、しかし...

"Accessing Data with GemFire"

もあります...

"Cache Data with GemFire"、そして...

"Accessing GemFire Data with REST"

を見てこれらのガイドは、主に「クライアント側」のアプリケーションの問題、「データアクセス」(REST上)、「キャッシング」などに重点を置いています。

まだ、のSpring Data GemFireSpringブートのアプリケーションでも)を使ってGemFire Serverを設定することができます。私はこれの多くの例を持っています。特に、一つの...

Spring Boot GemFire Server Example

この例は、GemFireのサーバー(クラスタ内の技術的に、ピア・ノード)として春ブーツアプリケーションをブートストラップする方法を示します。また、GemFireのプロパティが

https://github.com/jxblum/spring-boot-gemfire-server-example/blob/master/src/main/java/org/example/SpringBootGemFireServer.java#L59-L84

この特定の構成が作る... 設定を指定しているので、同様に、これらのプロパティを設定するには、Springの通常の規則(プロパティのプレースホルダ、SPEL式)を使用することができますGemFire Serverには、 "Locator"(start-locatorのGemFieプロパティで示され、私たちのノードが参加することを可能にする "ロケータ" GemFireプロパティと混同されないでください)と同様に、 "GemFire Manager" にGemFireキャッシュクライアントを提供します(ClientCache)。

この例では、(定義here)を使用して、キャッシュミス時に "Factorials"領域を設定して、"Factorials" Regionを作成します。

この例では、春ブーツ GemFireのサーバ・アプリケーション・プロセスに組み込まれたGemFireのマネージャを起動しているので、あなたもそうのように、Gfshを使用して接続することができます...

gfsh> connect --jmx-manager=localhost[1099]

次に、あなたはそれはあなたがそれを与える数字キーの階乗を計算するために見る「階乗」リージョンに「取得」を実行することができます。

さらに高度な設定を確認するには、私の他のレポ、特に連絡先アプリケーション RI(here)を見てください。

希望すると便利です。

- ジョン

0

まあ、私はこのケースでは、私はキャッシュクライアントとして春ブーツとピボタルGemFireのを使用しています、私は私のために働いていた何をあなたと共有しましょう、同じ問題を抱えていました。

  1. Installと実行GemFireのは
  2. ロケータを作成します15 minutes quick start guide
  3. を読み、サーバー()とあなたが開始したフォルダへの地域(region1
  4. ゴー(のはそれlocator1を呼びましょう) 'Gee Fish'(gfsh)を入力し、ロケータのフォルダに移動してログファイルを開きます。このファイルでは、ポートロケータが使用しています。 @Cacheable("region1")を追加し、あなたがキャッシュする(それがある場所)の方法では@EnablegemFireCaching注釈
  5. を追加main方法であなたのアプリケーションでは

    1. :それでは、春ブーツ側を見てみましょう

    注釈。

  6. 今度は、キャッシュのため設定ファイルを作成してみましょう:

    //すべてです。この私の労働者階級である

    @Configuration パブリッククラスCacheConfiguration {

    @Bean 
    ClientCacheFactoryBean gemfireCacheClient() { 
        return new ClientCacheFactoryBean(); 
    } 
    
    @Bean(name = GemfireConstants.DEFAULT_GEMFIRE_POOL_NAME) 
    PoolFactoryBean gemfirePool() { 
    
        PoolFactoryBean gemfirePool = new PoolFactoryBean(); 
    
        gemfirePool.addLocators(Collections.singletonList(new ConnectionEndpoint("localhost", HERE_GOES_THE_PORT_NUMBER_FROM_STEP_4))); 
        gemfirePool.setName(GemfireConstants.DEFAULT_GEMFIRE_POOL_NAME); 
        gemfirePool.setKeepAlive(false); 
        gemfirePool.setPingInterval(TimeUnit.SECONDS.toMillis(5)); 
        gemfirePool.setRetryAttempts(1); 
        gemfirePool.setSubscriptionEnabled(true); 
        gemfirePool.setThreadLocalConnections(false); 
    
        return gemfirePool; 
    } 
    
    @Bean 
    ClientRegionFactoryBean<Long, Long> getRegion(ClientCache gemfireCache, Pool gemfirePool) { 
        ClientRegionFactoryBean<Long, Long> region = new ClientRegionFactoryBean<>(); 
        region.setName("region1"); 
        region.setLookupEnabled(true); 
        region.setCache(gemfireCache); 
        region.setPool(gemfirePool); 
        region.setShortcut(ClientRegionShortcut.PROXY); 
    
        return region; 
    } 
    

    !また、 (implements Serializable)クラスがキャッシュされていることを忘れないでください(キャッシュされたメソッドが返すクラス)

関連する問題