如何获取Oracle Coherence群集中的所有缓存名称?

如何获取Oracle Coherence群集中的所有缓存名称?,第1张

概述我正在运行Oracle coherence集群并使用扩展客户端连接到集群. 如果有多个扩展客户端继续加入和离开oracle coherence集群,则有可能一个服务创建了一些缓存并离开了集群,但这些缓存存在于集群中. 我希望在任何时间点都可以在群集中显示所有缓存名称. 是否可以获取所有缓存名称? cacheService中有一个名为getCacheNames的API,它返回与该服务对应的所有缓存名 我正在运行Oracle coherence集群并使用扩展客户端连接到集群.
如果有多个扩展客户端继续加入和离开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群集中的所有缓存名称?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1162084.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存