java connection nullpointerexception sqlexception executequery

Obtención del controlador TDS-java.lang.NullPointerException. esta excepción no es consistente



connection sqlexception (2)

Encuentre el archivo config / context -

<Resource name="jdbc/mysqlDS" auth="Container" type="javax.sql.DataSource" driverClassName="com.inet.tds.TdsDriver" url="jdbc:inetdae7://194.0.0.1:1433/july" username="team" password="!team!" maxActive="50" maxIdle="2" maxWait="10000" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"/>

Obtengo una excepción cuando se llama un método de 3 o 4 hilos. Este método obtiene una conexión de base de datos dentro del método y llena algunos valores de DB y luego la conexión (conexión, conjunto de resultados y prepareStatement) se cierra correctamente solo dentro del método. Todavía obteniendo una excepción.

Thread_1 - se llama el método abc (). conexión abierta y cerrada dentro del método.
Thread_2 - método abc () llamado. conexión abierta y cerrada dentro del método.
Thread_3 - método abc () llamado. conexión abierta y cerrada dentro del método.

No estoy seguro de por qué se produce la excepción aunque la conexión se haya abierto y cerrado correctamente. DataBase - Ms sql, Java - 1.6, apache-tomcat 6.

Lo principal es que no es consistente, a veces se produce una excepción y otras no.

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)

Por favor asesorar sobre esto.


La conexión de la base de datos probablemente no es segura para subprocesos. Aunque su rastro de pila parece indicar que está intentando utilizar un conjunto de conexiones (dbcp), es posible que no lo haya configurado correctamente. Si actualiza la pregunta con más de su configuración y el código donde realiza la llamada al DB, tal vez alguien pueda detectar el problema.