zoukankan      html  css  js  c++  java
  • Hbase之JavaAPI连接池

    源码:

    package HbaseOperation;
    
    import com.alibaba.fastjson.JSON;
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.hbase.*;
    import org.apache.hadoop.hbase.client.*;
    import org.apache.hadoop.hbase.util.Bytes;
    import org.springframework.stereotype.Service;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    
    
    @Service
    public class HbaseOperationServiceImpl implements HbaseOperationService {
    
        public static final String FAMILY_NAME = "f1";
        public static final String FAMILY_NAME_F2 = "f2";
    
        public static final byte[] CF = Bytes.toBytes(FAMILY_NAME);
    
        private static Connection connection = null;
    
        private static volatile HbaseOperationServiceImpl instance;
    
        private HbaseOperationServiceImpl() {
            String ip = "192.168.184.128";
            String port = "2181";
            try {
                Configuration conf = HBaseConfiguration.create();
                conf.set("hbase.zookeeper.quorum", ip);
                conf.set("hbase.zookeeper.property.clientPort", port);
                connection = ConnectionFactory.createConnection(conf);
                System.out.println("创建connection!");
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
    
        public static HbaseOperationServiceImpl getIstance() {
            // 定义一个共有的静态方法,返回该类型实例
            if (instance == null) {
                // 对象实例化时与否判断(不使用同步代码块,instance不等于null时,直接返回对象,提高运行效率)
                synchronized (HbaseOperationServiceImpl.class) {
                    // 同步代码块(对象未初始化时,使用同步代码块,保证多线程访问时对象在第一次创建后,不再重复被创建)
                    if (instance == null) {
                        // 未初始化,则初始instance变量
                        instance = new HbaseOperationServiceImpl();
                    }
                }
            }
            return instance;
        }
    }

      测试代码:

    public class test_hbase_oper {
        public static void main(String args[]) {
            HbaseOperationServiceImpl hbaseOperationObj = HbaseOperationServiceImpl.getIstance();
        }
    

      

  • 相关阅读:
    Java中Runnable和Thread的区别
    Callable,Runnable比较及用法
    如何实现视差滚动效果的网页?
    【175】Easy CHM的使用
    【174】C#添加非默认字体
    【173】双显示器随便切换位置
    【172】outlook邮箱设置
    【171】IDL读取HDF文件
    怎样实现二级联动
    Java 23种设计模式详尽分析与实例解析之二--结构型模式
  • 原文地址:https://www.cnblogs.com/gongxr/p/7831149.html
Copyright © 2011-2022 走看看