Hazelcast搭建教程

本文介绍了如何使用maven在项目中添加Hazelcast依赖,并提供了填充和打印地图的示例代码。通过创建Hazelcast实例,将数据存入分布式地图并展示同步过程。在多节点环境中,需要注意一次性断开多个连接可能导致数据丢失的问题。目前中文教程有限,建议深入学习英文文档,特别是XML配置和关键类的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文采用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配置,以及最主要的几个类的使用。搞懂了这几个类就好了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值