如果有多个扩展客户端继续加入和离开oracle coherence集群,则有可能一个服务创建了一些缓存并离开了集群,但这些缓存存在于集群中.
我希望在任何时间点都可以在群集中显示所有缓存名称.
是否可以获取所有缓存名称?
cacheService中有一个名为getCachenames的API,它返回与该服务对应的所有缓存名称.
但是,如何获取属于客户端的其他服务创建的缓存名称,这些服务不再是活动但缓存存在于群集中?
[更新]: –
有一个名为’maps’的命令,它给出服务器中存在的所有缓存(由所有客户端创建).但我无法找到任何API进行相同的 *** 作.
是否有任何API可以执行maps命令或任何直接使用JAVA代码执行此命令的方法.
解决方法 迟到总比不到好…这是一个粗略的例子,如果你想在生产中使用它需要一点整理…
Enumeration servicenames = CacheFactory.getCluster().getServicenames();while(servicenames.hasMoreElements()){ String servicename = (String)servicenames.nextElement(); Service service = null; try{ service = CacheFactory.getService(servicename); }catch(Exception e){ continue; } if(service instanceof CacheService){ CacheService cacheService = (CacheService)service; Enumeration cachenames = cacheService.getCachenames(); while(cachenames.hasMoreElements()){ String cachename = (String)cachenames.nextElement(); System.out.println("<<<" + cachename); } }}总结
以上是内存溢出为你收集整理的如何获取Oracle Coherence群集中的所有缓存名称?全部内容,希望文章能够帮你解决如何获取Oracle Coherence群集中的所有缓存名称?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)