Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DefaultApacheHttpClientBuilder.java 这个在实际生产环境中会导致大量的thread导致机器使用完线程死机 #52

Closed
hacken2006 opened this issue Oct 4, 2016 · 8 comments
Labels

Comments

@hacken2006
Copy link

这是亲身经历。
prepare() 这个方法写的有问题,不停的加载创建thread,建议 构建方法中的配置等用静态提到构造函数中,我就这样解决的。

还有一个 路由的问题,路由方法也是 大量创建了thread,导致 thread只增加 不消除,我就直接把 thread取消了,就是那个 check duplicate 的吧,忘记了,如果不行 就用 线程池去做,不然不能用在生产环境中。很快机器就死

@binarywang
Copy link
Member

@hacken2006 非常感谢提出这个问题,我们开发组会核实并想办法修复此问题的,如果有可能,你也可以加入,帮忙共同完善代码。

@hacken2006
Copy link
Author

我的问题已经按上面的方式解决,这是前面几位出现宕机的根本原因,不是简单的sockettime问题

@binarywang
Copy link
Member

@hacken2006 仔细看了下代码,没太看明白你的意思,请明示一下?觉得出现“不停的加载创建thread”的问题,或许跟你使用的方式有关系,你是如何使用相关接口代码的?

@bysunexus
Copy link

@hacken2006 麻烦问下在项目中me.chanjar.weixin.mp.api.impl.WxMpServiceImpl这个类是保持单例了么

@hacken2006
Copy link
Author

多个应用 共用TOKEN,不可能单例

@binarywang
Copy link
Member

@hacken2006 多个应用共用token是什么意思,保持单例会有什么问题,能否稍微展开说明一下?

@bysunexus
Copy link

@hacken2006 看了一下代码确实会有问题 我提交pr将prepare()方法修改到构造中执行
感谢反馈问题

如果有时间您也可以提交pr一起来维护本项目

@bysunexus
Copy link

prepare()方法修改到构造中将会导致,set到本类的属性失效.
现在将prepare调整为同步执行

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants