package com.micmiu.bigdata.hbase.client; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.HConnection; import org.apache.hadoop.hbase.client.HConnectionManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Created * User: <a href="http://micmiu.com">micmiu</a> * Date: 8/27/2015 * Time: 10:32 */ public abstract class HBaseConnAbstractPool implements HBaseConnPool { public static final String DEF_ZNODE = "/hbase"; private static final Logger LOGGER = LoggerFactory.getLogger(HBaseConnAbstractPool.class); private Configuration config; private HConnection conn; public HBaseConnAbstractPool() { this.config = HBaseConfiguration.create(); } public HBaseConnAbstractPool(Configuration config) { this.config = config; } public Configuration getConfig() { return config; } public void closeConn() { if (null != conn) { try { conn.close(); } catch (Exception ex) { ex.printStackTrace(); } } } public void setup() { } public synchronized HConnection getConn() { if (null == conn) { try { this.conn = HConnectionManager.createConnection(this.config); } catch (Exception ex) { LOGGER.error("create conn err:", ex); } } return conn; } }