关于java freeswitch esl inbound client长时间使用内存泄漏处理

直入主题,在使用源生的esl inbound client 时长时间运行后可能会出现内存溢出的错误,导致程序崩溃,最开始以为是自己的esl client 频繁检测重连方法有问题,导致内存得不到释放,后面再深入跟进inbound.client方法中发现其实并不是我得锅,实际问题是esl client代码中没有好好用DirectByteBuffer造成的问题。想深入理解的朋友可以看一下,DirectByteBuffer 与ByteBuffer 了解一下,因为我也没有全部搞懂,所以这里不具体讲这一块区别。

    如果深入改这一块可能涉及的太多,本人在这推荐一种简单的解决方法,找到inbound.client中的的这行,将NioClientSocketChannelFactory 放到方法外声明,改为静态类,方法里直接调用就可以解决长时间使用会抛出内存溢出的问题,因为我们使用inbound内联,无需每次使用都去new。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值