連接池突然不能使用了,重啓應用仍然報連接池耗盡,最後debug發現是有人創建了dual表,導致校驗語句select 1 from dual返回值爲空,而無法通過連接池的連接校驗。
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted
at org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:183)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
... 6 more
Caused by: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:871)
at org.apache.commons.dbcp.PoolingDriver.connect(PoolingDriver.java:175)