sql >> Base de Datos >  >> RDS >> Oracle

Configuración del tiempo de espera de la red para la conexión JDBC

setNetworkTimeout() se introdujo en JDBC 4.1 y no estaba presente en JDBC 4.0.

Querrá ojdbc7 ya que JDBC 4.1 solo vino con Java 7 si desea usar setNetworkTimeout() método.

El problema subyacente es que agregar métodos a las interfaces en especificaciones posteriores puede causar que las implementaciones más antiguas de esas interfaces se rompan con errores. Una de las nuevas funciones del próximo Java 8, los métodos predeterminados, hará que esto sea un poco menos problemático.

Aparentemente, también hay una propiedad de controlador JDBC para Oracle que puede modificar los tiempos de espera de los sockets.

También puede intentar usar esta propiedad Oracle JDBC para establecer el tiempo de espera del socket si está usando el controlador ligero:

Properties props = new Properties();
props.setProperty("user", "dbuser");
props.setProperty("password", "dbpassword");
props.setProperty(OracleConnection.CONNECTION_PROPERTY_THIN_NET_CONNECT_TIMEOUT, "2000");

Connection con = DriverManager.getConnection("<JDBC connection string>", props);