Geode本机客户端RegisterAllKeys生成NotConnectedException

时间:2017-08-29 13:35:24

标签: gemfire geode

我使用以下方法连接到另一台机器上的Geode服务器:

CacheFactory cacheFactory = CacheFactory.CreateCacheFactory();

Cache c = cacheFactory
    .AddServer("x.x.x.x", 40404)
    .SetSubscriptionEnabled(true)
    .Create();

RegionFactory regionFactory = c.CreateRegionFactory(RegionShortcut.CACHING_PROXY);

IRegion<string, string> r = regionFactory.Create<string, string>("r");

现在,如果我尝试输入一个条目,那么它就可以了。但是,如果我尝试使用以下命令订阅区域r中的事件:

r.GetSubscriptionService().RegisterAllKeys();

然后抛出NotConnectedException

我在这里想念的是什么?感谢...

1 个答案:

答案 0 :(得分:0)

我发现问题与CacheFactory.create()在幕后设置默认连接池有关,而且默认池可能与服务器连接池不兼容。

因此,根据connection pool code,必须设置池工厂并将其设置为接收订阅,例如:

{{1}}

MyListener根据event handling

处理事件订阅