Estoy usando JDBC para conectarme a un servidor MySQL (no creo que haya una combinación de conexiones). En la conexión URL tengo autoReconnect=true
¿Por qué autoReconnect = true no parece funcionar?
Pero mi conexión aún se agota. Incluso he comprobado conn.isClosed()
y es falso. Pero cuando trato de usar la conexión obtengo la siguiente excepción.
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: Software caused connection abort: socket write error STACKTRACE: java.net.SocketException: Software caused connection abort: socket write error ...
sé en Java 1.6 se puede utilizar conn.isValid(0)
para comprobar la conexión, pero yo estoy usando Java 1.5
¿Hay una manera de asegurarse de que sea tiempo de espera no? ¿O tendré que actualizar a Java 1.6?
El consejo de no utilizar autoReconnect porque se eliminará en el futuro es de 8-10 años. Y, sin embargo, sigo viendo que MySQL 5.x proporciona una guía que establece que la propiedad Connector/J autoReconnect es una opción para resolver este problema ... –
Del documento vinculado: "No hay una forma 100% segura de que un controlador JDBC pueda reconectarse automáticamente si una conexión TCP/IP muere sin riesgo de corrupción del 'estado' de la base de datos (incluso _con semántica transaccional), que es la razón por la cual esta característica eventualmente será eliminada. " –