【发布时间】:2012-02-24 17:06:52
【问题描述】:
当从 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)
请就此提出建议。
【问题讨论】:
标签: java connection nullpointerexception sqlexception executequery