Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java hazelcast map put操作不工作_Java_Hazelcast - Fatal编程技术网

Java hazelcast map put操作不工作

Java hazelcast map put操作不工作,java,hazelcast,Java,Hazelcast,我正在集群中使用hazelcast-2.5。我有一个映射(键:字符串,值:用户定义对象的ArrayList)。我可以在大多数地方很好地放置/删除,但在代码的一个特定部分,put操作会以静默方式失败(用于put操作的键字符串是唯一的,并且ArrayList也不是空的)。没有抛出异常。在涉及锁的情况下,我甚至尝试了tryPut,那个调用给了我一个真实的返回值。在put操作之后,我尝试打印出映射的键集,但看不到我刚刚插入的键-映射的大小也没有改变(但是tryPut给了我一个真实的返回值,我合理地确定我

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