Otra configuración de JDBC 3.x
En las siguientes secciones se describen algunos ajustes de configuración adicionales para el controlador JDBC 3.x.
Tiempo de espera de la red
El tiempo de espera de conexión es la cantidad de tiempo en milisegundos que el controlador esperará a que se establezca una conexión. Esto incluye el tiempo que se tarda en enviar las solicitudes de API. Transcurrido este tiempo, el controlador lanza una excepción de tiempo de espera. En raras ocasiones, puede resultar útil cambiar el tiempo de espera de la red. Por ejemplo, puede que desee aumentar el tiempo de espera por si las pausas de recopilación de elementos no utilizados se alargan.
Para configurarlo, llame al método setNetworkTimeout
en un objeto Connection
JDBC. Este valor se puede cambiar durante el ciclo de vida de la conexión JDBC. Para obtener más información, consulte setNetworkTimeoutsetNetworkTimeout
equivale a configurar el parámetro de conexión Tiempo de espera de la red.
En el siguiente ejemplo, se establece el tiempo de espera de la red en 5000 milisegundos.
... AthenaDriver driver = new AthenaDriver(); Connection connection = driver.connect(url, connectionParameters); connection.setNetworkTimeout(null, 5000); ...
Tiempo de espera de consulta
Período de tiempo, en segundos, que el controlador esperará a que se complete una consulta en Athena después de que se haya enviado. Transcurrido este tiempo, el controlador intenta cancelar la consulta enviada y lanza una excepción de tiempo de espera.
El tiempo de espera de la consulta no se puede configurar como parámetro de conexión. Para configurarlo, llame al método setQueryTimeout
en un objeto Statement
JDBC. Este valor se puede cambiar durante el ciclo de vida de la instrucción de JDBC. El valor predeterminado de este parámetro es 0
(cero). Un valor de 0
significa que las consultas se pueden ejecutar hasta que se completen (sujeto a Service Quotas).
El siguiente ejemplo establece el tiempo de espera de la consulta en 5 segundos.
... AthenaDriver driver = new AthenaDriver(); Connection connection = driver.connect(url, connectionParameters); Statement statement = connection.createStatement(); statement.setQueryTimeout(5); ...