【发布时间】:2019-01-30 05:03:52
【问题描述】:
我使用 gfsh 创建了带有索引的区域。我正在尝试获取基于区域和服务器的索引列表。我使用 mbean "CacheServerMXBean" 来获取基于服务器的索引列表。但我没有得到创建索引的区域的名称。是否可以选择获取索引详细信息以及区域和服务器名称?
我也尝试使用 new ClientCacheFactory().addPoolLocator("localhost", 10334).create().getLocalQueryService().getIndexes(); 结果集为空
1) ClientCache 缓存 = new ClientCacheFactory().addPoolLocator("localhost", 10334).create();
Region<String, Object> region1 = cache
.<String, Object>createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY)
.create("region_local");
region1.getRegionService().getQueryService().getIndexes();
错误:服务器区域不支持索引操作。
2) new ClientCacheFactory().addPoolLocator("localhost", 10334).create().getLocalQueryService().getIndexes(); 输出:空数组
3)(工作代码)
对象名 objName = 新对象名( String.format(String.format("GemFire:service=CacheServer,port=%s,type=Member,member=%s", serverPort, serverName))); CacheServerMBean cacheBean = JMX.newMXBeanProxy(mbeanConnection, objName, CacheServerMBean.class);
cacheBean.getIndexList();
输出:这给了我索引列表。但我正在尝试找到一种方法来获取创建这些索引的区域详细信息。
GFSH 命令:创建索引 --name=myKeyIndex_local --expression=region_local.Id --region=region_local --type=key
【问题讨论】: