本文采用maven来开发管理。
1、在maven的pom.xml中添加依耐:
<dependency>
<groupId>com.hazelcast</groupId>
<artifactId>hazelcast</artifactId>
<version>3.5.4</version>
</dependency>
——如果你的Eclipse下载不到这个jar,就手动去官网下载(或者:
http://mvnrepository.com/artifact/com.hazelcast
),然后放到本地仓库中即可。
2、去官网
http://hazelcast.org/download/下载sample,里面有示例代码,我改过:
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import java.util.Map;
public class FillMapMember {
public static void main(String[] args) {
HazelcastInstance hz = Hazelcast.newHazelcastInstance();
Map<String, String> map = hz.getMap("map");
map.put("1", "Tokyo");
map.put("2", "Paris");
map.put("3", "New York");
System.out.println("Finished loading map:");
while(true){
String key=Double.toString((int)(Math.random()*100000/1));
String value="v-"+key.substring(0, 4);
map.put(key, value);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("Add:<"+key+" : "+value+">");
}
}
}
————————————
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import java.util.Map;
public class PrintAllMember {
public static void main(String[] args) {
HazelcastInstance hz = Hazelcast.newHazelcastInstance();
Map<String, String> map = hz.getMap("map");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
while(true){
System.out.println("--size:"+map.size());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
————————————
打包成两个jar,fillAllMember.jar放到#1虚拟机上运行,printAllMember.jar放到#2虚拟机上运行,两台虚拟机是在同一局域网内。
3、运行结果如下:(内容保持同步!)
4、遇到的问题:
如果有很多个节点,那么一个一个地断开连接,不会出现什么问题,如果,一下子断开多个连接,就会出现数据丢失!
5、教程问题:
目前网上的中文教程很少,只能啃英文文档了。重点是:xml配置,以及最主要的几个类的使用。搞懂了这几个类就好了。