当前位置: 首页 > 知识库问答 >
问题:

如何用Hazelcast Imap确定哪些密钥被锁定

上官华池
2023-03-14

我正在使用Hazelcast Imap接口以分布式方式锁定项目,而不是将项目放在map中,我只是调用lock方法,它似乎有效,但我不知道如何查询哪些项目当前被锁定,因为项目在map中不可用。有没有方法可以查询Hazelcast锁定的键?下面是示例代码:public void testMap_DistributedLock(){final Config hazelcastConfig=new Config();int numberOfRecords=100;

    final HazelcastInstance instance1 = Hazelcast.newHazelcastInstance(hazelcastConfig);
    //monitorCluster(instance1);

    IMap<Integer, Integer> myMap = instance1.getMap("myMap");
    System.err.println("starting lock");
    int index  = 0;
    while(index<numberOfRecords){
         myMap.lock(index++);
    }
    System.err.println("After locking index is: " +index);
    System.err.println("myMap.size()=" + myMap.size());
}

输出为:

starting lock
After locking index is: 100
myMap.size()=0

PS:使用java7和Hazelcast 3.6

共有1个答案

易奇希
2023-03-14

没有像IMAP::GetLocks这样的API,但是您可以使用IMAP::IsLocked遍历所有已知的锁,并收集仍被锁定的键。如果您真的想要一些getLocks方法,请继续在GitHub上提交一个特性请求。

 类似资料:
  • 问题内容: 是否有任何工具可以列出应用程序有效使用哪些类以及何时有效使用某些类,甚至更好地自动修剪JAR库以仅提供被引用和使用的类? 问题答案: 请记住,正如停机问题所证明的那样,您不能肯定地说某个特定类已使用或未使用。至少在任何中等复杂的应用程序上。这是因为类不仅在编译时绑定,而且可以加载: 基于XML配置(例如Spring); 从属性文件加载(例如JDBC驱动程序名称); 动态添加注释; 由于

  • 假设我有一个卷,我知道它的名称或id。 我想确定使用卷的容器列表(它们的名称或id)。 我可以使用什么命令来检索这些信息? 我认为它可以存储在docker volume inspect的输出中

  • 问题内容: 我是新手,所以请保持温柔。 因此,我已经在某些代码中使用互斥锁了几周了。我了解其背后的概念:锁定对特定资源的访问权限,与之交互(读或写),然后为其他人再次解锁。 我使用的互斥锁代码主要是复制粘贴调整。该代码可以运行,但是我仍在努力解决其内部问题。到目前为止,我一直在结构中使用互斥锁来锁定该结构。今天,我发现了这个例子,这使我完全不清楚互斥锁实际上是在锁定什么。以下是一段示例代码: 让我

  • <代码>java。安全KeyStore使用KeyStoreSpi实现来提供不同类型的KeyStore。基本OpenJDK支持JKS、JCEKS和PKCS12密钥库类型。前两个实现专有的Sun/Oracle格式,PKCS12是一个公共标准。 我知道JCEKS确实支持对称密钥,PKCS12则不支持。还有哪些实现(如Bouncy Castle)支持对称密钥?开发人员似乎想隐藏此类信息。E、 g.Boun

  • 问题内容: 现有应用程序的类路径中有大量的JAR文件。一定要确保最初添加了所有JAR。显然没有使用某些JAR,我们已经删除了其中一些不需要的JAR,而没有引起任何问题。 如何确定正在使用哪些JAR,哪些是不需要的(除尝试和错误方法外)? 问题答案: Tattletale是一个很好的工具。它对字节码起作用,因此有可能通过反射使用某些类,而这些类不会出现在报告中。 这里( 链接不再有效 )是示例报告。