Java 向Hazelcast添加新的键/值对

Java 向Hazelcast添加新的键/值对,java,hashmap,client,hazelcast,hazelcast-imap,Java,Hashmap,Client,Hazelcast,Hazelcast Imap,假设我有一个圣诞列表对象,其中包含一个用于圣诞礼物的ArrayList和另一个用于收件人的字符串。我对该客户机有以下方法: private HazelcastInstance client = HazelcastClient.newHazelcastClient(new ClientConfig()); public void updateChristmasList(String recipientName, List<String> wishList) { IMap<

假设我有一个圣诞列表对象,其中包含一个用于圣诞礼物的ArrayList和另一个用于收件人的字符串。我对该客户机有以下方法:

private HazelcastInstance client = HazelcastClient.newHazelcastClient(new ClientConfig());

public void updateChristmasList(String recipientName, List<String> wishList) {
    IMap<String, ArrayList> christmasListImap = client.getMap(WISHLIST_COLLECTION_MAP);

    // Other Code
}
private HazelcastInstance client=HazelcastClient.newHazelcastClient(newclientconfig());
public void updateChristmasList(字符串recipientName,列表愿望列表){
IMap christmasListImap=client.getMap(WISHLIST\u COLLECTION\u MAP);
//其他代码
}
现在假设我想为“Amy”添加一个新列表,IMap不包含与“Amy”匹配的密钥。如何添加这样的条目?请注意,以上大部分都是伪代码,但这个问题给我带来了无尽的麻烦。这些文档也帮不了什么忙。我认为Hazelcast的任何新IMap默认情况下都是空的


所以基本上,我尝试在Hazelcast IMap中初始化一个新的键/值对。我试着使用christmasListImap.put()和christmasListImap.set(),但它们似乎都不起作用。至少,我需要知道如何添加一个新的密钥,以便IMap识别。

很抱歉给您添麻烦,但我找到了问题所在。我知道我的wsdl中已经有了必要的JAXBXML绑定,使我的类可以序列化,但我忘了在pom中标记它。现在put方法工作正常


无论如何,谢谢大家的帮助。

有什么问题吗?只是
christmasListImap.put(接收方名称,愿望列表)应该可以正常工作。它是否引发任何异常?我可以看到您正在使用Hazelcast客户端。是否有成员正在运行?对于初学者,需要将愿望列表对象标记为可序列化。(ie实现java.io.Serializable接口)。还有其他可用的序列化选项,但我建议您继续使用它,直到您感到舒服为止。Hazelcast将把您的条目存储在集群中的某个位置,而不一定是本地节点。条目将通过网络到达那里,因此显然它必须序列化。ArrayList是可序列化的,但不是您的自定义类。您可以编辑生成的源代码,也可以制作一些复杂的代码,将生成的对象复制到自定义的可序列化对象。