我在java中使用Infinispan和jgroups。 我想获取infinispan缓存集群中的所有缓存名称。 我试过用 DefaultCacheManager.getCacheNames(); 但是它只提供了从调用它的jvm访问的缓存,而不是该集群中的所有缓存。
一旦我访问了那个jvm上的缓存,它就变得可用了,它开始进入我从中获取的缓存列表 DefaultCacheManager.getCacheNames();
我对infinispan和jgroups使用相同的配置文件(使用tcp)。
请建议我可以通过哪种方式获取群集中的所有缓存名称。
谢谢, ANKUR
答案 0 :(得分:1)
嗯,通常你会在群集范围内定义所有缓存,因此在节点中获取缓存名称足以知道群集范围内可用的缓存。
这似乎不是你的情况,所以我能想到的最简单的事情就是在Infinispan中执行Map / Reduce功能,从集群中的各个节点检索缓存名称,然后整理它们。
有关详细信息,请参阅https://docs.jboss.org/author/display/ISPN/Infinispan+Distributed+Execution+Framework和https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day2track2session2.pdf