Java hazelcast map put操作不工作
我正在集群中使用hazelcast-2.5。我有一个映射(键:字符串,值:用户定义对象的ArrayList)。我可以在大多数地方很好地放置/删除,但在代码的一个特定部分,put操作会以静默方式失败(用于put操作的键字符串是唯一的,并且ArrayList也不是空的)。没有抛出异常。在涉及锁的情况下,我甚至尝试了tryPut,那个调用给了我一个真实的返回值。在put操作之后,我尝试打印出映射的键集,但看不到我刚刚插入的键-映射的大小也没有改变(但是tryPut给了我一个真实的返回值,我合理地确定我用于键的字符串是唯一的-我希望键的二进制形式也是唯一的)。如果我的密钥的二进制形式不是唯一的,我假设tryPut应该返回一个错误的返回值,或者至少用新的密钥/值对替换先前添加的密钥/值(除非我误解了文档) 如果您想解决这个问题,或者想知道我的密钥的二进制形式是否导致了这个问题,我们将不胜感激Java hazelcast map put操作不工作,java,hazelcast,Java,Hazelcast,我正在集群中使用hazelcast-2.5。我有一个映射(键:字符串,值:用户定义对象的ArrayList)。我可以在大多数地方很好地放置/删除,但在代码的一个特定部分,put操作会以静默方式失败(用于put操作的键字符串是唯一的,并且ArrayList也不是空的)。没有抛出异常。在涉及锁的情况下,我甚至尝试了tryPut,那个调用给了我一个真实的返回值。在put操作之后,我尝试打印出映射的键集,但看不到我刚刚插入的键-映射的大小也没有改变(但是tryPut给了我一个真实的返回值,我合理地确定我
谢谢试试看。并查看是否有任何值与该键关联。如果没有,则卖出应该是成功的 谢谢-我实际上在put操作的2-3秒内尝试了多次,它为我返回了一个空值(这就是为什么我到达put可能失败的程度)。我已经试着在put操作之后打印出键集,但键不在那里。这很可能是我的代码有问题,尽管我想确认问题是什么。地图的(字符串)键有多长重要吗?我想我误解了你的建议。我会尝试,如果没有值,我将继续执行put操作并共享结果Pilot Error(鸡蛋在我脸上)!这套装置运转良好。我有一些测试代码,它在map上调用get,这反过来又在map的store load实现中调用load(该值通过另一个map的store load实现已经在DB中了-这个map的store实现是空的)。感谢福阿德的回复。
boolean putVal = testMap.tryPut(this.testObj.UUID, testEntity, timeout, TimeUnit.MILLISECONDS); //timeout is 2000L or 2 seconds in this case