日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dubbo线程池中无可用线程

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dubbo线程池中无可用线程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這兩天dubbo出現突然掛掉的現象。異常如下:

?[DUBBO] Thread pool is EXHAUSTED! Thread Name: DubboServerHandler-192.168.2.187:20880, Pool Size: 200 (active: 200, core: 200, max: 200, largest: 200), Task: 6294 (completed: 6094), Executor status:(isShutdown:false, isTerminated:false, isTerminating:false), in dubbo://192.168.2.187:20880!, dubbo version: 2.5.3, current host: 192.168.2.187

然后使用jstack ‘pid’>xxx.log查看日志:

DubboServerHandler-192.168.2.187:20880-thread-192" #232 daemon prio=5 os_prio=0 tid=0x00007fe844056000 nid=0x12e3 waiting for monitor entry [0x00007fe825958000]
? ?java.lang.Thread.State: BLOCKED (on object monitor)
at org.springframework.jms.connection.SingleConnectionFactory.getConnection(SingleConnectionFactory.java:281)
- waiting to lock <0x00000000fd9b9bc0> (a java.lang.Object)
at org.springframework.jms.connection.SingleConnectionFactory.createConnection(SingleConnectionFactory.java:224)
at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180)
at org.springframework.jms.core.JmsTemplate.access$600(JmsTemplate.java:90)
at org.springframework.jms.core.JmsTemplate$JmsTemplateResourceFactory.createConnection(JmsTemplate.java:1177)
at org.springframework.jms.connection.ConnectionFactoryUtils.doGetTransactionalSession(ConnectionFactoryUtils.java:312)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:471)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:559)
at com.hginfo.hbm.be.service.impl.nb.jms.NbJmsServiceImpl.sendPerformanceMessage(NbJmsServiceImpl.java:73)
at com.hginfo.hbm.be.service.impl.nb.jms.NbJmsServiceImpl.sendMessage(NbJmsServiceImpl.java:56)
at com.hginfo.hbm.be.service.impl.nb.jms.NbJmsServiceImpl$$FastClassBySpringCGLIB$$78ff2af8.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:168)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:280)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:72)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655)
at com.hginfo.hbm.be.service.impl.nb.jms.NbJmsServiceImpl$$EnhancerBySpringCGLIB$$869e41d8.sendMessage(<generated>)
at com.hginfo.hbm.be.service.impl.nb.NbMQServiceImpl.doDcCommonReport(NbMQServiceImpl.java:479)
at com.hginfo.hbm.be.service.impl.nb.NbMQServiceImpl.saveDeviceReport(NbMQServiceImpl.java:79)
at com.hginfo.hbm.be.service.impl.nb.NbMQServiceImpl$$FastClassBySpringCGLIB$$98ff479c.invoke(<generated>)

at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)

重點:java.lang.Thread.State: BLOCKED (on object monitor)

dubbo的線程被activemq連接的線程所阻塞。

發現問題出在activemq上,amq作為輕量級中間件,cpu很少耗盡,推測為amq配置問題,增加內存:set?ACTIVEMQ_OPTS=-Xms1G-Xmx1G。

問題解決,bubbo不再掛掉。


總結

以上是生活随笔為你收集整理的dubbo线程池中无可用线程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。