Utilisez la page Modifier les attributs avancés du pool de connexions pour spécifier des attributs permettant d’établir un diagnostic des fuites de connexion et faciliter l’utilisation.
La page Modifier les attributs avancés du pool de connexions présente les options suivantes :
Bouton pour restaurer les valeurs par défaut de tous les paramètres.
Nom du pool de connexions. Le champ Nom est en lecture seule. Vous pouvez indiquer le nom du pool de connexions uniquement au moment de sa création.
Délai, en secondes, au-delà duquel des requêtes anormalement longues à exécuter sont abandonnées. GlassFish Server va définir QueryTimeout sur les instructions créées. Une valeur de -1 signifie que l’option est désactivée. La valeur par défaut est –1.
Nombre d’instructions devant être mises dans la mémoire cache à l’aide du système de mise en cache LRU (utilisé le moins récemment). La valeur 0 désactive la mise en cache d’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 de noms de classe d’implémentation des listeners séparés par des virgules qui spécifie que les instructions SQL exécutées par les applications sont suivies. Les classes de listeners doivent implémenter l’interface org.glassfish.api.jdbc.SQLTraceListener . L’utilisation de listeners facilite le filtrage des messages du fichier journal des instructions SQL et aide les administrateurs à analyser ces instructions.
Lorsque cette option est activée, les applications imbriquent les objets JDBC pour Statement, PreparedStatement, CallableStatement, ResultSet, DatabaseMetaData. Cette option est activée par défaut.
Permet le groupement des connexions pour le pool. Cette option est activée par défaut.
Délai en secondes au-delà duquel une connexion est validée une fois au maximum. Cette option permet de réduire le nombre de demandes de validation effectuées par une connexion. La valeur par défaut est 0.
Période (en secondes) nécessaire pour effectuer un suivi des fuites de connexion dans un pool de connexions. Ce champ permet de détecter les éventuelles fuites 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 fuite ; un suivi de pile de l’appelant est alors consigné dans le journal. La valeur 0 signifie que le suivi des fuites de connexion est désactivé. La valeur par défaut est 0.
Utilisez ce champ avec le champ Récupération de la fuite pour éviter tout risque de fuite de connexion de l’application.
Si cette option est activée, les connexions présentant des fuites sont restaurées dans le pool une fois le suivi des fuites de connexion 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 signifie qu’aucune tentative ne sera effectuée pour recréer une connexion. La valeur par défaut est 0.
Intervalle en secondes séparant 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 Nouvelles 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, elle permet de n’enrôler une ressource dans une transaction que 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 la connexion qui lui est déjà associée, limitant ainsi le temps d’arrêt 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. Cette option doit être activée si le pool de connexions est utilisé par des applications disposant de plusieurs informations d’identification 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 fois qu’une connexion doit être réutilisée 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 fuites d’instruction lorsqu’une application ne ferme pas des instructions. Une valeur de 0 signifie 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 suivantes.
GlassFish Server valide une connexion en appelant la méthode con.getAutoCommit ou con.getMetaData.
Remarque - La plupart des pilotes JDBC mettent en 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 pilotes pour savoir si ces appels sont mis ou non en cache.
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.
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 pour la validation. Ce champ ne doit être utilisé que si la méthode de validation a été définie sur table.
Nom de la classe d’implémentation de la 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 .
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 programmes appelants non-composant tels que les filtres de servlet et les gestionnaires de persistance tiers. Les connexions obtenues par des programmes appelants non-composant ne sont pas automatiquement fermées à la fin d’une transaction par le conteneur. Elles doivent être explicitement fermées par le programme appelant. Cette option est désactivée par défaut.