1

我在集群中使用 hazelcast -2.5。我有一张地图(键:字符串,值:用户定义对象的 ArrayList)。我可以在大多数地方很好地放置/删除,但在我的代码的一个特定部分,放置操作会静默失败(用于放置操作的键字符串是唯一的,并且 ArrayList 也不为空)。不抛出异常。如果涉及到锁,我什至尝试了 tryPut 并且该调用给了我一个真正的返回值。在 put 操作之后,我尝试打印出地图的 keySet 但看不到我刚刚插入的密钥 - 地图的大小也没有改变(但 tryPut 给了我一个真正的返回值,我有理由确定我用于密钥的字符串是唯一的 - 我希望密钥的二进制形式也是唯一的)。如果我的密钥的二进制形式不是唯一的,

boolean putVal = testMap.tryPut(this.testObj.UUID, testEntity, timeout, TimeUnit.MILLISECONDS);   //timeout is 2000L or 2 seconds in this case

任何有关解决此问题或弄清楚我的密钥的二进制形式是否导致问题的想法将不胜感激。

谢谢

4

1 回答 1

2

尝试做一个得到。并查看是否有与该键关联的任何值。如果不是,则看跌期权应该是成功的。

于 2013-03-28T19:30:56.113 回答