如何获取Infinispan缓存集群中的所有缓存名称
我在 java 中使用 Infinispan 和 jgroups。 我想获取 infinispan 缓存集群中的所有缓存名称。 我尝试过使用 DefaultCacheManager.getCacheNames(); 但它只提供在调用它的 jvm 上访问的缓存,而不是该集群中的所有缓存。
一旦我访问该 jvm 上的缓存,它就变得可用,并且它开始进入我从中获取的缓存列表 DefaultCacheManager.getCacheNames();
我对 infinispan 和 jgroups 使用相同的配置文件(使用 tcp)。
请建议我可以获取集群中所有缓存名称的方法。
谢谢, 安库尔
I am using Infinispan with jgroups in java.
I want to get all the cache names in an infinispan cache cluster.
I have tried using
DefaultCacheManager.getCacheNames();
but it gives only caches which are accessed on that the jvm from which it is called from and not all the caches in that cluster.
Once i access a cache on that jvm, it becomes available and the it starts coming in the cachelist which i get from
DefaultCacheManager.getCacheNames();
I am using the same config file for infinispan and jgroups(using tcp).
Please suggest a way by which I can get all the cache names in a cluster.
Thanks,
Ankur
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嗯,通常您会在集群范围内定义所有缓存,因此获取节点中的缓存名称足以了解集群范围内可用的缓存。
但这似乎不是你的情况,所以我能想到的最简单的事情是在 Infinispan 中执行 Map/Reduce 功能,从集群中的各个节点检索缓存名称,然后整理它们。
有关详细信息,请参阅 https://docs.jboss.org/作者/显示/ISPN/Infinispan+分布式+执行+框架和https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day2track2session2 .pdf
Hmmm, normally you'll have all caches defined cluster wide, so getting the cache names in a node is good enough to know the caches that are available cluster wide.
This doesn't seem to be your case though, so the easiest thing I can think of is to do a Map/Reduce functionality in Infinispan to retrieve the cache names from individual nodes in the cluster and then collate them.
For more info, see https://docs.jboss.org/author/display/ISPN/Infinispan+Distributed+Execution+Framework and https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day2track2session2.pdf