ignite配置文件编写

版权声明: https://blog.csdn.net/hzy52013/article/details/82832393

下载地址:https://ignite.apache.org/download.cgi

git地址:https://github.com/apache/ignite

中文学习网站:https://liyuj.gitee.io/

xml文件配置;

<!-- 配置缓存 -->
    <bean id="cacheConfiguration" class="org.apache.ignite.configuration.CacheConfiguration">
        <!-- 配置缓存的名字 -->
        <property name="name" value="hzy"/>
        <!-- 配置缓存模式
        REPLICATED:复制模式,写入慢,读取快。
        PARTITIONED:分区模式,写入快,读取慢。 -->

        <property name="cacheMode" value="REPLICATED"/>
        <!-- 配置备份个数 -->
        <property name="backups" value="1"/>
        
    </bean>
    
    <bean id="discoverySpi" class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
          <property name="localPort" value="47500"/>  <!-- 端口 -->
          <property name="localPortRange" value="5"/>  <!-- 节点个数 -->
        <property name="ipFinder">   <!-- 地址 -->
          <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
            <property name="addresses">
              <list>
                <value>127.0.0.1:47500..47504</value>
              </list>
            </property>
          </bean>
        </property>
      </bean>
    
    <bean id="igniteConfiguration" class="org.apache.ignite.configuration.IgniteConfiguration">
        <property name="clientMode" value="true"/>  <!-- 是否为客户端 -->
        <property name="cacheConfiguration" ref="cacheConfiguration"/>   <!-- 添加缓存配置 -->
        <property name="discoverySpi" ref="discoverySpi"/>  
        
    </bean>

测试:

@Test
    public void domel01() {
        ApplicationContext ac=new ClassPathXmlApplicationContext("ApplicationContext.xml");    //加载配置文件
        IgniteConfiguration cfg = (IgniteConfiguration) ac.getBean("igniteConfiguration");     //从spring容器中获取igniteconfigruation
        Ignite ignite = Ignition.start(cfg);      //通过自定义配置启动ignite
        IgniteCache<String, Object> cache = ignite.cache("hzy");       //获取缓存名为hzy的缓存
        cache.put("a", 10);         //向缓存添加key:a value:10的数据
        System.out.println(cache.get("a"));      //获取打印
    }

结果

java程序配置

@Configuration
public class IgniteConfig {
    
    @Bean
    public CacheConfiguration<String, Deque<Serializable>> getCacheConfigruation(){
        CacheConfiguration<String, Deque<Serializable>> cfg = new CacheConfiguration<>();
        cfg.setName("hzy");  //缓存的名字
        cfg.setCacheMode(CacheMode.REPLICATED);  //分区模式
        cfg.setBackups(1);// 设置备份的数量
        cfg.setExpiryPolicyFactory(CreatedExpiryPolicy.factoryOf(new Duration(TimeUnit.DAYS, 3)));// 过期时间为三天
        return cfg;
    }
    
    @Bean
    public DiscoverySpi discoverySpi() {
        TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi();
        discoverySpi.setLocalPort(47500);   //端口
        discoverySpi.setLocalPortRange(5);   //节点个数
        TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
        List<String> addresses = new ArrayList<>();    
        addresses.add("127.0.0.1:47500..47504");     //地址
        ipFinder.setAddresses(addresses);
        discoverySpi.setIpFinder(ipFinder);
        //discoverySpi.setForceServerMode(true);
        return discoverySpi;
    }
    
    @Bean
    public IgniteConfiguration getIgniteConfiguration(CacheConfiguration<String, Deque<Serializable>> cacheCfg,DiscoverySpi aisp) {
        IgniteConfiguration cfg = new IgniteConfiguration();
        cfg.setClientMode(true);  //这里用ignite客户端连接服务端节点
        //cfg.setPeerClassLoadingEnabled(true);    // 启用Peer类加载器
        cfg.setCacheConfiguration(cacheCfg);   //添加缓存配置
        cfg.setDiscoverySpi(aisp);     //添加发现者信息
        return cfg;
    }
    
    @Bean
    public Ignite getIgnite(IgniteConfiguration cfg) {
        //通过自定义配置启动ignite
        return Ignition.start(cfg);
    }
}

猜你喜欢

转载自blog.csdn.net/hzy52013/article/details/82832393
今日推荐