动态线程池问题的解决

项目中需要将线程池也监控管理起来。

 于是决定引入了hippo4j,这个引入很简单,官方的例子也很简单,拿过来直接跑。

 出现问题了,用的和例子一模一样的,也没什么错,但是就是在服务器的管理控制台上没有找到动态的线程池。

 先看本地启动的控制台,输出了

 从提示上看,根本没有任何动态线程池,我是非常肯定项目中已经有一个官方例子的线程池,并且IOC中肯定是有的(不可能是那种低级错误没扫描到或者没有注册,这个已经排除过)

  没办法了,只有翻它的代码了,翻了一下,它的代码应该是在 (spring的扩展点也就那么几个,很容易就能找到)

 

由此推测是这个没有获取到。

在项目中已经开启了@Async的使用(这里为什么怀疑它就是因为这个新弄的默认线程池是给异步用的),得看一下这块的源码,

 这块使用它的代码在这里 (下面是设置)

  这本身没什么问题,加载不到的事其实我是知道原因的,其实就是有些情况是BeanPostProcessor处理不了的情况(不清楚的可以看看

 

,项目的异步这块的加载中导致了它提前初始化,从而hippo4j处理不了,加之我们的线程池本来还需要用TTL包装用于在线程池中作日志追踪用,

       本质就是让他延迟初始化,用cglib撸一个简单的,也就是给用

 

返回一个代理,以推迟加载周期,并且可以定制我们的TTL。

 这样问题就愉快地解决了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值