0

JavaのjgroupでInfinispanを使用しています。インフィニスパン キャッシュ クラスター内のすべてのキャッシュ名を取得したいと考えています。DefaultCacheManager.getCacheNames(); を使用してみました。ただし、そのクラスター内のすべてのキャッシュではなく、呼び出し元の jvm でアクセスされるキャッシュのみを提供します。

そのjvmのキャッシュにアクセスすると、それが利用可能になり、DefaultCacheManager.getCacheNames();から取得したキャッシュリストに表示され始めます。

infinispan と jgroups (tcp を使用) に同じ構成ファイルを使用しています。

クラスター内のすべてのキャッシュ名を取得する方法を提案してください。

ありがとう、アンクル

4

1 に答える 1

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を参照してください

于 2011-12-06T09:33:05.993 に答える