我尝试使用hazelcast 3.6版本进行简单的演示。基本上我启动了控制台应用程序,然后我从客户端代码向集群添加了一个元素。
public class GettingStartedClient {
public static void main(String[] args) {
ClientConfig clientConfig = new ClientConfig();
clientConfig.addAddress("127.0.0.1:5704");
HazelcastInstance client = HazelcastClient.newHazelcastClient(clientConfig);
IMap<Integer, String> map = client.getMap("customers");
System.out.println("Map Size:" + map.size());
for (int i = 0; i < map.size(); i++) {
System.out.println(map.get(i+1));
}
map.put(0, "Emre");
}
}
稍后,使用命令行我切换到ns customer,然后执行m.get,m.values和m.keys命令。 m.values和m.keys返回映射中的元素,但是m.get返回null。
hazelcast[customers] > m.keys
0
Total 1
hazelcast[customers] > m.values
Emre
Total 1
hazelcast[customers] > m.get 0
null
我错过了吗?任何帮助表示赞赏。
答案 0 :(得分:2)
演示应用程序中使用的密钥不是Integer而是String。因此,为了使其工作,您的客户端代码应如下所示:
public static void main(String[] args) {
ClientConfig clientConfig = new ClientConfig();
clientConfig.addAddress("127.0.0.1:5704");
HazelcastInstance client = HazelcastClient.newHazelcastClient(clientConfig);
IMap<String, String> map = client.getMap("customers");
System.out.println("Map Size:" + map.size());
for (int i = 0; i < map.size(); i++) {
System.out.println(map.get(i+1));
}
map.put("0", "Emre");
}
您可以从github查看演示应用的源代码: https://github.com/hazelcast/hazelcast/blob/master/hazelcast/src/main/java/com/hazelcast/console/ConsoleApp.java
答案 1 :(得分:1)
Hazelcast控制台假设密钥是一个字符串,并试图找到密钥&#34; 0&#34;哪个不存在