2016-10-10 10 views
0

GemFireの/宝石gfsh領域キャッシュリスナー

gfsh>create region --name=exampleRegion --type=REPLICATE --enable-statistics=true --cache-listener=com.example.RegionChangeListener 

com.example.RegionChangeListenerクラスが展開されている(>deploy --jar=lib.jar)瓶内が、それが動作していないようです - 私が取得しています:クラスが見つからない/認識されているよう

Could not process command due to GemFire error. java.lang.ClassNotFoundException cannot be cast to com.gemstone.gemfire.management.internal.cli.functions.CliFunctionResult 

が見える - どこでどのようにGemFireのは、それを正しく初期化することができますので、それを「登録」するには? クラスは単にCacheListenerAdapterを拡張し、Declarableを実装します。

答えて

0

>deploy --jar=は、ファンクションをデプロイするためにのみ使用され、リスナー、ローダー、ライターなどのイベントハンドラは展開されません。

ではなく、これを実行します。

gfsh>create region --cp=<path to cache listener jar> --name=exampleRegion --type=REPLICATE --enable-statistics=true --cache-listener=com.example.RegionChangeListener

+0

を私はそれを試してみましたが、取得: 'パラメータ "名前" が必要です。支援のために "help "を使用してください。 パラメータcpはcreate region'には適用されません(ただし、名前パラメータは指定されています)。 – m52509791

+0

もっと正確にさせてください。 1)あなたのjarを配備する方法と2)あなたの地域を作成する方法の問題があります。あなたの作成領域は上手く見えます。キャッシュリスナーをロードするために "deploy --jar = lib.jar"を使用しないでください。代わりに '--classpath =。/ lib.jar'を' gfsh>起動サーバに追加してください。--name = server1 --classpath =。/ lib.jar ... 'コマンド –

+0

ありがとうございます。サーバを起動する前に 'gfsh> start server --name = server1 --classpath =。/ lib.jar'と' gfsh> start locator --name = loc1 - classpath =。/ lib.jar'を試してみましたが、私の最初のコマンド(--cpなし)で領域を作成するよりも、同じエラーが出ることがあります。 – m52509791