2015-08-27 74 views
0

我正面臨一個問題,我的多線程在Oracle ucp 下的Park階段是堆棧跟蹤,如果有人有oracle的源代碼。 ucp.util包會很有幫助線程在Park階段,oracle.ucp.util(連接池)

java.lang.Thread.State: TIMED_WAITING 
at sun.misc.Unsafe.park(Native Method) 
- parking to wait for <773dc402> (a java.util.concurrent.FutureTask) 
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) 
at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:426) 
at java.util.concurrent.FutureTask.get(FutureTask.java:204) 
at oracle.ucp.util.UCPTaskManagerImpl$3.get(UCPTaskManagerImpl.java:144) 
at oracle.ucp.common.UniversalPooledConnectionImpl.isValid(UniversalPooledConnectionImpl.java:248) 
at oracle.ucp.common.FailoverableUniversalPooledConnectionBase.isValid(FailoverableUniversalPooledConnectionBase.java:14) 
at oracle.ucp.common.UniversalPooledConnectionImpl.isValid(UniversalPooledConnectionImpl.java:216) 
at oracle.ucp.common.FailoverableUniversalPooledConnectionBase.isValid(FailoverableUniversalPooledConnectionBase.java:14) 
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnectionAndValidate(UniversalConnectionPoolImpl.java:178) 
at oracle.ucp.common.UniversalConnectionPoolImpl.borrowConnection(UniversalConnectionPoolImpl.java:148) 
at oracle.ucp.jdbc.JDBCConnectionPool.borrowConnection(JDBCConnectionPool.java:166) 
at oracle.ucp.jdbc.oracle.OracleJDBCConnectionPool.borrowConnection(OracleJDBCConnectionPool.java:1441) 
at oracle.ucp.jdbc.oracle.OracleConnectionConnectionPool.borrowConnection(OracleConnectionConnectionPool.java:82) 
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:1043) 
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:985) 
at oracle.ucp.jdbc.PoolDataSourceImpl.getConnection(PoolDataSourceImpl.java:966) 
+0

http://oracle.developer-works.com/article/5227563/UCP+problem%3A+connections+time+out+but+can+still+be+used – user1933888

回答

0

UCP使用24個線程進行操作。你正在觀察的可能只是一個正常的操作。