dubbo ThreadLocal中的ThreadLocal隐患在Dubbo中使用 。如果采用默认设置 , Dubbo处理响应线程不会在每次Dubbo调用结束时被销毁,而是会返回到线程池中,Dubbo-发布服务的执行过程,我们以dubbo的xml配置为例:dubbo服务发布只需要在spring.xml中配置如下:通过dubbo与spring的融合,我们可以知道标签是由ServiceBean解析封装的 。
在1、生产环境出现的几次线程池被占满的问题 分析【dubbo源码分析龙果】 project发布后,发现dubbo上的线程池很快被耗尽 。查看日志,看到以下信息:RejectedExecutionException是dubboprovide线程池的拒绝策略(具体见导入dubbo)的实际记录 。默认200大小的线程池已经满了,然后我们在这个日志上面发现了另一个日志:我们发现这个http请求调用异常,整个接口调用用了100秒,所以问题很明显 。前端的一个请求发送到系统A,系统A通过dubbo调用系统B,系统B通过http调用php提供的一个接口 。php的这个服务因为一些未知的原因特别慢,导致我们的http请求花了很长时间 。此时dubbo的线程还没有释放 。因为此时系统A频繁调用系统B , 所以系统B的dubbo线程池很快就被耗尽了(默认为dubbo服务提供者线程池 。
2、 dubbojava环境下出现Cannotresolvereferencetobean
推荐阅读
- 非洲发现神秘四翼鸟 四翼鸟是什么样的动物
- mysql有中文版本吗 mysql都是英文版的吗
- 有效的沟通的好处 多个mySQL冲突
- mysql数据文件在哪个目录下 mysql数据在哪里
- mysql用什么语言开发 开发mysql应用程序
- mysqllogbin日志 mysql-log
- mysql配置ini mysql配置怎么进入
- mysql eof mysql以e结尾的代码
- mysql数据库搬迁 mysql跨机房迁移
- mysql导入数据语句 mysql数据存入h2