Outra configuração do JDBC 3.x - Amazon Athena

Outra configuração do JDBC 3.x

As seções a seguir descrevem algumas configurações adicionais para o driver JDBC 3.x.

Tempo limite de rede

O tempo limite de rede controla a quantidade de tempo em milissegundos que o driver espera para que uma conexão de rede seja estabelecida. Isso inclui o tempo necessário para enviar solicitações de API. Após esse período, o driver gera uma exceção de tempo limite. Em raras circunstâncias, pode ser útil alterar o tempo limite da rede. Por exemplo, você pode querer aumentar o tempo limite para pausas longas na coleta de resíduos.

Para configurá-lo, chame o método setNetworkTimeout em um objeto Connection JDBC. Esse valor pode ser alterado durante o ciclo de vida da conexão JDBC. Para ter mais informações, consulte setNetworkTimeout na documentação do Oracle JDBC API. Usar o método setNetworkTimeout equivale a definir o parâmetro de conexão Tempo limite de rede.

O exemplo a seguir define o tempo limite de rede como 5.000 milissegundos.

... AthenaDriver driver = new AthenaDriver(); Connection connection = driver.connect(url, connectionParameters); connection.setNetworkTimeout(null, 5000); ...

Tempo limite de consulta

O tempo, em segundos, que o driver aguardará a conclusão de uma consulta no Athena após enviá-la. Após esse período, o driver tenta cancelar a consulta enviada e gera uma exceção de tempo limite.

O tempo limite da consulta não pode ser definido como um parâmetro de conexão. Para configurá-lo, chame o método setQueryTimeout em um objeto Statement JDBC. Esse valor pode ser alterado durante o ciclo de vida de uma instrução JDBC. O valor padrão desse parâmetro é 0 (zero). Um valor 0 significa que as consultas podem ser executadas até a sua conclusão (respeitados os Service Quotas).

Os exemplos a seguir definem o tempo limite de consulta como 5.000 milissegundos.

... AthenaDriver driver = new AthenaDriver(); Connection connection = driver.connect(url, connectionParameters); Statement statement = connection.createStatement(); statement.setQueryTimeout(5); ...