各位大神,小弟的專案是高并發的介面平臺,部署在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
uj5u.com熱心網友回復:
找版塊的版主給你移動到java 區吧;uj5u.com熱心網友回復:
我關心的是問題怎么解決的,存盤程序可以優化嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/117780.html
標籤:開發
上一篇:從netbeans上傳代碼到服務器的visualvsn,無法成功
下一篇:求一個可以批量建日志表的存盤程序
