关于Hbase单例,线程安全问题

先说下背景:

        项目中用到Hbase,而然监控到控制台报线LinkeList线程安全问题,遂百度,得知Hbase是线程不安全的。

过程:

        代码创建table的时候,用到了单例,单例table多线程进行写操作,肯定有问题。

所以,想找了线程池解决一下,找到个老哥用了HbasePool,可实际使用,发现,该类已经被官方弃用。

        翻看源码,HconnectionManager 的 getTbale函数有个参数 getBatchPool(),让我们具体看下代码

@Override
public HTableInterface getTable(TableName tableName) throws IOException {
  return getTable(tableName, getBatchPool());
}

 这里,官方已经贴心的给创建的连接添加了线程池,和连接保持时间。

所以,在我们用的时候,直接调用getTable() 就可以了。

不需要单例table对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值