La page Modifier les attributs avancés du pool de connexions permet de spécifier les attributs permettant d'établir un diagnostic des pertes de connexion et de faciliter l'utilisation.
Elle contient les options ci-après.
Bouton permettant de restaurer les valeurs par défaut des paramètres qui en ont. Les paramètres qui n'ont pas de valeurs par défaut ne sont pas modifiés.
Nom du pool de connexions. Le champ Nom est en lecture seule. Vous ne pouvez spécifier le nom du pool de connexions qu'à la création d'un pool de connexions JDBC.
Délai, en secondes, au-delà duquel les requêtes dont l'exécution est anormalement longue sont abandonnées. GlassFish Server définit QueryTimeout
sur les instructions créées. La valeur -1 signifie que l'option est désactivée. La valeur par défaut est -1.
Nombre d'instructions devant être mises en mémoire cache à l'aide du système de mise en mémoire cache LRU (utilisé le moins récemment). La valeur 0 désactive la mise en mémoire cache des instructions. La valeur par défaut est 0.
Chaîne SQL à exécuter lors de la création (mais pas de la réutilisation) d'une connexion dans le pool. L'exécution de cette chaîne initialise l'état de la connexion.
Liste des noms de classe d'implémentation de processus d'écoute, séparés par des virgules, qui indique que les instructions SQL exécutées par les applications sont tracées. Les classes de processus d'écoute doivent implémenter l'interface org.glassfish.api.jdbc.SQLTraceListener
. L'utilisation de processus d'écoute facilite le filtrage des messages de journal des instructions SQL et aide les administrateurs à analyser ces instructions.
Lorsque cette option est activée, les applications obtiennent des objets JDBC encapsulés pour les éléments Statement, PreparedStatement, CallableStatement, ResultSet et DatabaseMetaData. Cette option est activée par défaut.
Active le groupement des connexions pour le pool. Cette option est activée par défaut.
Indique l'intervalle, exprimé en secondes, entre des demandes successives de validation d'une connexion, une fois au plus. La définition de cet attribut sur une valeur appropriée réduit le nombre de demandes de validation émanant d'une connexion. La valeur par défaut est 0, ce qui signifie que l'attribut n'est pas activé.
Durée, en secondes, nécessaire pour tracer les pertes de connexion dans un pool de connexions. Ce champ permet de détecter les éventuelles pertes de connexion de l'application. Une connexion non renvoyée au pool par l'application dans l'intervalle spécifié est soupçonnée de présenter une perte. La trace de pile de l'appelant est alors journalisée. La valeur 0 indique que le traçage des pertes de connexion est désactivé. La valeur par défaut est 0.
Utilisez ce champ avec le champ Récupération de perte pour éviter tout risque de perte de connexion de l'application.
Si cette option est activée, les connexions présentant des pertes sont restaurées dans le pool une fois le traçage des pertes de connexion terminé. Cette option est désactivée par défaut.
Durée, en secondes, nécessaire pour tracer les pertes d'instruction dans un pool de connexions. Ce champ permet de détecter les éventuelles pertes d'instruction de l'application. Une instruction non renvoyée au pool par l'application dans l'intervalle spécifié est soupçonnée de présenter une perte. La trace de pile de l'appelant est alors journalisée. La valeur 0 indique que le traçage des pertes d'instruction est désactivé. La valeur par défaut est 0.
Utilisez ce champ avec le champ Récupération de perte d'instruction pour éviter tout risque de perte de connexion de l'application.
Si cette option est activée, les instructions présentant des pertes sont restaurées dans le pool une fois le traçage des pertes d'instruction terminé. Cette option est désactivée par défaut.
Nombre de tentatives effectuées en cas d'échec de création d'une connexion. La valeur 0 indique qu'aucune tentative ne sera effectuée pour recréer la connexion. La valeur par défaut est 0.
Intervalle, en secondes, entre deux tentatives de création d'une connexion. La valeur par défaut est 10. Cet attribut n'est utilisé que si la valeur de l'option Tentatives de création est supérieure à 0.
Si cette option est activée, une connexion physique n'est associée à une collection logique que lorsque la connexion est utilisée. Les connexions sont dissociées lorsque la transaction est terminée et qu'une méthode de composant prend fin, ce qui facilite la réutilisation des connexions physiques. Cette option est désactivée par défaut.
Si cette option est activée, une ressource est engagée dans une transaction uniquement lorsqu'elle est utilisée dans une méthode. Cette option est désactivée par défaut.
Si cette option est activée, la connexion est associée à un thread de sorte que lorsque celui-ci nécessite une connexion, il puisse réutiliser celle qui lui est déjà associée, limitant ainsi le temps système lié à l'obtention d'une connexion à partir du pool. Cette option est désactivée par défaut.
Si cette option est activée, une connexion sélectionnée dans le pool doit être mise en correspondance avec les connexions disposant de certaines informations d'identification et de connexion. Cette option doit être activée si le pool de connexions est utilisé par des applications disposant de plusieurs informations d'identification et de connexion utilisateur. Cette option peut être désactivée en toute sécurité si l'administrateur sait que les connexions du pool seront toujours homogènes et qu'il est donc inutile pour l'adaptateur de ressources d'associer une connexion empruntée au pool. Cette option est désactivée par défaut.
Nombre de réutilisations possibles d'une connexion par le pool. Une fois qu'une connexion a été réutilisée le nombre de fois spécifié, elle est fermée. En limitant le nombre de réutilisations d'une connexion, vous pouvez éviter les pertes d'instruction lorsqu'une application ne ferme pas les instructions. La valeur 0 indique que cet attribut est désactivé. La valeur par défaut est 0.
Si cette option est sélectionnée, la validation des connexions est requise, ce qui permet au serveur de se reconnecter en cas d'échec.
GlassFish Server peut valider les connexions à la base de données de l'une des manières ci-après.
auto-commit
et metadata
GlassFish Server valide une connexion en appelant la méthode con.getAutoCommit
ou con.getMetaData
.
Remarque:
La plupart des pilotes JDBC mettent en mémoire cache le résultat de ces appels. Par conséquent, l'utilisation de ces appels ne donne pas toujours une validation fiable. Contactez votre fournisseur de pilote pour savoir si ces appels sont mis en mémoire cache ou non.custom-validation
GlassFish Server utilise un mécanisme de validation défini par l'utilisateur spécifié par la classe d'implémentation personnalisée dans le champ Nom de classe de validation.
table
L'application interroge la table de base de données spécifiée. La table doit exister et être accessible mais ne requiert aucune ligne. N'utilisez pas une table existante comportant un nombre important de lignes ou une table déjà fréquemment consultée.
Nom de la table de base de données utilisée pour la validation. Ce champ ne doit être utilisé que si la méthode de validation a été définie sur table
. Vous pouvez sélectionner un nom dans la liste déroulante ou en saisir un.
Nom de la classe d'implémentation de validation personnalisée. Ce champ ne doit être utilisé que si la méthode de validation a été définie sur custom-validation
. GlassFish Server doit pouvoir accéder au nom de classe indiqué. La classe spécifiée doit implémenter l'interface org.glassfish.api.jdbc.ConnectionValidation
. Vous pouvez sélectionner un nom dans la liste déroulante ou en saisir un.
Si cette option est activée, GlassFish Server ferme toutes les connexions du pool et les rétablit en cas d'échec de l'une d'entre elles. Si cette option est désactivée, les connexions individuelles ne sont rétablies que lorsqu'elles sont utilisées. Cette option est désactivée par défaut.
Si cette option est activée, le pool peut être utilisé par des appelants autres que des composants tels que les filtres de servlet et les gestionnaires de persistance tiers. Les connexions obtenues par des appelants autres que des composants ne sont pas automatiquement fermées par le conteneur à la fin d'une transaction. Elles doivent être explicitement fermées par l'appelant. Cette option est désactivée par défaut.
Modification des paramètres généraux de pool de connexions JDBC
Modification des attributs avancés de pool de connexions JDBC