求助:高并发的java接口项目执行存储过程导致ActiveMq堵塞,数据源不可用数量超高,以及最终Weblogic的server状态被更改为Failed

ycZhang丶UP 2016-04-25 04:17:06
各位大神,小弟的项目是高并发的接口平台,部署在weblogic,使用activemq控制并发,每个请求都是执行oracle存储过程,由于执行时间比较长,并发量比较大,导致activemq堵塞,数据源不可用数量超高,并将weblogic的server状态置为Failed,只能重启server才能解决。求助啊,我看日志说两个jms进程抢一个数据源,不知有没有遇到过这问题的帮帮忙!!!!



<Apr 20, 2016 12:12:28 AM CST> <Critical> <WebLogicServer> <BEA-000394> <

DEADLOCK DETECTED:
==================

[deadlocked thread] org.springframework.jms.listener.DefaultMessageListenerContainer#0-46:
-----------------------------------------------------------------------------------------
Thread 'org.springframework.jms.listener.DefaultMessageListenerContainer#0-46' is waiting to acquire lock 'oracle.jdbc.driver.T4CConnection@127ec81c' that is held by thread 'org.springframework.jms.listener.DefaultMessageListenerContainer#0-65'

Stack trace:
------------
oracle.sql.TypeDescriptor.getName(TypeDescriptor.java:683)
oracle.jdbc.oracore.OracleTypeADT.isInHierarchyOf(OracleTypeADT.java:426)
oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:2072)
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3588)
oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3694)
oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4755)
oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)
weblogic.jdbc.wrapper.PreparedStatement.execute(PreparedStatement.java:99)
com.sinosig.insurance.ecif.common.dao.impl.ProcedureDaoImpl.callStructStrProc(ProcedureDaoImpl.java:417)
com.sinosig.insurance.ecif.common.dao.impl.ProcedureDaoImpl$$FastClassByCGLIB$$421f5dcc.invoke(<generate
…………………… (省略号)

[deadlocked thread] org.springframework.jms.listener.DefaultMessageListenerContainer#0-65:
-----------------------------------------------------------------------------------------
Thread 'org.springframework.jms.listener.DefaultMessageListenerContainer#0-65' is waiting to acquire lock 'oracle.jdbc.driver.T4CConnection@127a9534' that is held by thread 'org.springframework.jms.listener.DefaultMessageListenerContainer#0-46'
<Apr 20, 2016 12:12:28 AM CST> <Critical> <Health> <BEA-310006> <Critical Subsystem core has failed. Setting server state to FAILED.
Reason: Thread deadlock detected>
<Apr 20, 2016 12:12:28 AM CST> <Critical> <WebLogicServer> <BEA-000385> <Server health failed. Reason: health of critical service 'core' failed>
<Apr 20, 2016 12:12:28 AM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
<Apr 20, 2016 12:12:28 AM CST> <Error> <> <BEA-000000> <
===== FULL THREAD DUMP ===============
Wed Apr 20 00:12:28 2016
Oracle JRockit(R) R28.1.4-7-144370-1.6.0_26-20110617-2130-linux-x86_64

"Main Thread" id=1 idx=0x4 tid=12690 prio=5 alive, waiting, native_blocked


<Apr 20, 2016 12:13:20 AM CST> <Warning> <JDBC> <BEA-001153> <Forcibly releasing inactive/harvested connection "weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection@990ec" back into the data source connection pool "cif", currently reserved by: java.lang.Exception
...全文
1031 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
guzhoumingyue 2016-09-24
  • 打赏
  • 举报
回复
我关心的是问题怎么解决的,存储过程可以优化吗?
卖水果的net 2016-04-26
  • 打赏
  • 举报
回复
找版块的版主给你移动到java 区吧;

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧