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

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

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

先说下背景:

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

过程:

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

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

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

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

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

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

不需要单例table对象。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5116498.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存