我有这段代码
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;看起来就像我想要的那样,日志说不。
答案 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提出问题。