GemFire 8.2.0 ClientCacheFactory addPoolLocator,如何设置客户端上的定位器列表

时间:2016-02-09 13:27:06

标签: gemfire

我有这段代码

ClientCacheFactory clientCacheFactory = new ClientCacheFactory();
        clientCacheFactory.set("cache-xml-file", "client-cache.xml");
        clientCacheFactory.set("mcast-port", "0");

        List<String> locators = Arrays.asList(peersIp.split(","));
        for (String locator : locators) {
            clientCacheFactory.addPoolLocator(locator, 11001);
        }

我正在向clientCacheFactory

添加一个定位器ips列表

在客户端日志中,我看到了

  • [info 2016/02/09 13:14:15.440 UTC tid = 0x1]在本地模式下运行,因为mcast-port为0且定位器为空。

    [info 2016/02/09 13:14:15.694 UTC tid = 0x1]游泳池DEFAULT以multiuser-authentication = false开始

    [info 2016/02/09 13:14:15.725 UTC tid = 0x16]更新会员端口。端口从0更改为49,879。 *

我的client-cache.xml

<!DOCTYPE client-cache PUBLIC "-//GemStone Systems, Inc.//GemFire Declarative Caching 6.6//EN" "http://www.gemstone.com/dtd/cache6_6.dtd"> <client-cache> <region name="exampleRegion" refid="PROXY"/> </client-cache>

我想使用ClientCacheFactory来定义客户端要连接的定位器列表。

方法&#39; addPoolLocator&#39;看起来就像我想要的那样,日志说不。

1 个答案:

答案 0 :(得分:0)

在这种情况下,日志会误导您。看起来你的游泳池已经创建了,所以你应该好好去。您可以通过将gfsh连接到定位器并发出describe region命令来验证。

$ cd $GEMFIRE_HOME
$ ./bin/gfsh
gfsh>connect --locator=localhost[10334]
gfsh>describe region --name=/MyRegion
gfsh>list members
gfsh>list clients

有关更多命令,请参阅gfsh documentation,或者只需在gfsh中输入help。

日志实际上意味着您没有作为GemFire分布式系统的对等方连接。 locators属性是指对等定位器,而不是池中的定位器。我可以看到这是多么误导,我将针对Apache Geode提出问题。