检索所有区域作为客户端缓存

Retrieving all regions as a client cache

我正在寻找一种以编程方式检索所有区域和 return count/size 的方法。我可以看到 gfsh 如何具有 "list regions" 但似乎无法找到支持 java api 命令。我试过了

cache = ClientCacheFactory().addPoolLocator().create();
RegionService regionService =   
clientCache.createAuthenticatedView(properties);

但结果 regionService.rootRegions 是空的。我可以获得查询服务和 运行 类似 "select count(*) from /UserRegion" 的服务,但我想动态检索区域。

使用 MBean 的替代方法是执行远程函数,例如 this

您可以通过JMX 客户端通过Gemfire 管理服务获取区域列表。

MemberMXBean mbeanProxy =
    (MemberMXBean) MBeanServerInvocationHandler.newProxyInstance(
    mbeanServerConnection, mbeanName, MemberMXBean.class, true);
String[] listRegions = mbeanProxy.listRegions();
for (int i = 0; i < listRegions.length; i++) {
    System.out.println(listRegions[i]);
}