各位大神,小弟的项目是高并发的接口平台,部署在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