从 3 或 4 个线程调用方法时出现异常。此方法在方法内部获取数据库连接并从 DB 填充一些值,然后连接(连接、结果集和 prepareStatement)仅在方法内部正确关闭。仍然得到异常。
Thread_1 - 调用了 abc() 方法。连接在方法内部打开和关闭。
Thread_2 - 调用了 abc() 方法。连接在方法内部打开和关闭。
Thread_3 - 调用了 abc() 方法。连接在方法内部打开和关闭。
我不清楚为什么即使连接正确打开和关闭也会发生异常。数据库 - Ms sql,Java - 1.6,apache-tomcat 6。
主要是它并不一致,有时会出现异常,有时不会。
1. Exception -
com.inet.tds.am:
[TDS Driver]java.lang.NullPointerException
at com.inet.tds.aj.a(Unknown Source)
at com.inet.tds.r.g(Unknown Source)
at com.inet.tds.r.executeQuery(Unknown Source)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
2. Exception -
java.sql.SQLException: Connection is closed.
at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.checkOpen(PoolingDataSource.java:175)
at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:301)
请就此提出建议。