Autre configuration JDBC 3.x
Les sections suivantes décrivent certains paramètres de configuration supplémentaires pour le pilote JDBC 3.x.
Délai d'expiration du réseau
Le délai d’expiration du réseau détermine combien de temps (en millisecondes) le pilote attend l’établissement d’une connexion. Il inclut le temps d’envoi de demandes d’API. Passé ce délai, le pilote lance une exception de délai d'expiration. Dans de rares cas, il peut être utile de modifier le délai d’expiration du réseau. Par exemple, vous souhaiterez peut-être l’augmenter pour les longues pauses du récupérateur de mémoire.
Pour le définir, appelez la méthode setNetworkTimeout sur un objet JDBC Connection. Cette valeur peut être modifiée pendant le cycle de vie de la connexion JDBC. Pour plus d’informations, consultez setNetworkTimeoutsetNetworkTimeout revient à la définition du paramètre de connexion Délai d'expiration du réseau.
L'exemple suivant définit le délai d'expiration du réseau à 5 000 millisecondes.
... AthenaDriver driver = new AthenaDriver(); Connection connection = driver.connect(url, connectionParameters); connection.setNetworkTimeout(null, 5000); ...
Délai d'expiration de la requête
Le temps, en secondes, pendant lequel le pilote attendra la fin d'une requête sur Athena après qu'une requête ait été soumise. Passé ce délai, le pilote tente d'annuler la requête soumise et lance une exception de délai d'expiration.
Le délai d'expiration de la requête ne peut pas être défini en tant que paramètre de connexion. Pour le définir, appelez la méthode setQueryTimeout sur un objet JDBC Statement. Cette valeur peut être modifiée au cours du cycle de vie d'une instruction JDBC. La valeur par défaut de ce paramètre est 0 (zéro). La valeur de 0 signifie que les requêtes peuvent être exécutées jusqu'à ce qu'elles soient terminées (sous réserve de Service Quotas).
L'exemple suivant définit le délai d'expiration de la requête à 5 secondes.
... AthenaDriver driver = new AthenaDriver(); Connection connection = driver.connect(url, connectionParameters); Statement statement = connection.createStatement(); statement.setQueryTimeout(5); ...