如何获取Infinispan缓存集群中的所有缓存名称

时间:2011-12-03 20:15:55

标签: caching jgroups infinispan

我在java中使用Infinispan和jgroups。 我想获取infinispan缓存集群中的所有缓存名称。 我试过用 DefaultCacheManager.getCacheNames(); 但是它只提供了从调用它的jvm访问的缓存,而不是该集群中的所有缓存。

一旦我访问了那个jvm上的缓存,它就变得可用了,它开始进入我从中获取的缓存列表 DefaultCacheManager.getCacheNames();

我对infinispan和jgroups使用相同的配置文件(使用tcp)。

请建议我可以通过哪种方式获取群集中的所有缓存名称。

谢谢, ANKUR

1 个答案:

答案 0 :(得分:1)

嗯,通常你会在群集范围内定义所有缓存,因此在节点中获取缓存名称足以知道群集范围内可用的缓存。

这似乎不是你的情况,所以我能想到的最简单的事情就是在Infinispan中执行Map / Reduce功能,从集群中的各个节点检索缓存名称,然后整理它们。

有关详细信息,请参阅https://docs.jboss.org/author/display/ISPN/Infinispan+Distributed+Execution+Frameworkhttps://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day2track2session2.pdf