Développez les définitions constituées de propriétés personnalisées ou non centrales pour les sources de données DB2
pour permettre un meilleur degré de flexibilité de l'application lorsque vous utilisez
le pilote JDBC DB2 Universal
ou le pilote JCC IBM® utilisant DB2. Cette fonction est parfois appelée le pooling hétérogène. Cette fonction vous permet de configurer une source de données DB2
avec un jeu central de propriétés de source de données dans le serveur d'applications et de différer vers des applications individuelles
pour définir les propriétés non centrales ou personnalisées, telles que currentSchema ou clientApplicationInformation,
qui doivent être spécifiques à l'application. Vous pouvez également utiliser ces définitions développées
pour substituer les propriétés non centrales ou personnalisées déjà définies
pour la source de données. De plus, cette fonction permet de réduire le nombre
de connexions physiques que le serveur d'applications utilise en employant
un pool de connexions entre des ressources se connectant à la même source de données.
Avant de commencer
Vous devez utiliser une source de données DB2 et la source de données doit être configurée
dans le serveur d'applications avec un des fournisseurs JDBC suivants :
- Pilote DB2 JDBC Universal
(Version 4.3.81 ou ultérieure)
- DB2 utilisant le pilote IBM JCC (Version 3.53.65 ou ultérieure)
Pourquoi et quand exécuter cette tâche
Associez des propriétés non centrales à différentes références de ressources
d'une source de données et configurez vos applications pour bénéficier de ces
références afin de développer ou substituer les propriétés non centrales de la source
de données. Vous pouvez définir de nouvelles propriétés personnalisées ou non centrales ou
substituer des propriétés non centrales déjà définies pour la source de données.
Les
applications peuvent également partager le même pool de connexions sur le serveur d'applications, même si chaque application peut posséder son propre ensemble de propriétés de source
de données. Il doit y avoir une seule source de données définie dans le serveur d'applications
et donc un seul pool de connexions ; cependant, pour les applications individuelles
il y a plusieurs sources de données définies.
Cela peut aboutir
à :
- Une baisse du taux d'utilisation de la mémoire par le serveur d'applications. Les définitions
de la source de données correspondent à un pool de connexions, il y a donc moins d'objets
en mémoire comparé à une définition de source de données correspondant
à son propre pool de connexions.
- Une réduction du nombre de connexions ouvertes dans la source de données pouvant
baisser le taux d'utilisation de la mémoire par la source de données. Le serveur d'applications
peut réduire le nombre de connexions inactives en fournissant un pool de connexions
correspondant à plusieurs sources de données, offrant ainsi une utilisation
plus efficace des connexions.
- Une éviction des transactions à validation en deux phases (XA) dans certains scénarios DB2,
lorsque vos applications utilisent le modèle
de connexion get/use/close. Le serveur
d'applications peut partager des connexions entre plusieurs références de ressources possédant
le même ensemble de propriétés centrales, même si elles possèdent des propriétés non centrales différentes
au sein de la même transaction. Ce comportement peut éviter le traitement à validation en deux phases
si le partage de connexions conduit le serveur d'applications à utiliser une seule connexion physique.
Procédure
- Mettez à jour des définitions de source de données pour une application
déjà installée.
- Naviguez dans le panneau pour gérer les références de ressource de
l'application.
- Pour les applications qui n'utilisent pas la persistance gérée par conteneur, cliquez sur .
- Pour les applications qui utilisent la persistance gérée par conteneur, cliquez sur . Vous ne pouvez pas ajouter des propriétés étendues pour des beans CMP individuels.
- Vous pouvez configurer deux fichiers de référence de ressource sur la même source de données. Cela vous permet d'étendre les propriétés personnalisées de la source de données afin d'inclure deux noms de schéma différents (nom currentSQLId sur z/OS ou currentSchema dans les propriétés personnalisées) utilisables pour exploiter les capacités du serveur d'applications. Voir la rubrique relative à la configuration de deux fichiers de référence de ressource dans la même source de données pour plus d'informations.
Remarque : Pour IBM Optim PureQuery Runtime, s'il s'agit d'une source de données XA, vous devez définir une nouvelle propriété personnalisée sur la source de données, où nom_propriété = downgradeHoldCursorsUnderXa et
valeur booléenne = true.
- Naviguez dans le panneau des propriétés étendues de source de données. Sélectionnez une ressource dans le tableau et cliquez sur Propriétés
étendues.... Si la source de données ne prend pas en charge
les propriétés étendues de la source de données, vous recevrez un message d'erreur lorsque
vous essaierez d'appliquer ces modifications.
- Ajoutez une ou plusieurs propriétés personnalisées de sources de données étendues
spécifiques à cette ressource cible. Cliquez sur Nouveau et renseignez les zones
nécessaires. Répétez cette étape pour chaque propriété pour laquelle vous souhaitez étendre
la source de données. Ensuite, cliquez sur OK pour revenir à l'écran
précédent. Vous ne pouvez pas modifier les propriétés suivantes de la source de données, elles
doivent être les mêmes pour toutes les applications utilisant cette source de données :
- accountingInterval
- dataSourceName
- databaseName
- kerberosServerPrincipal
- loginTimeout
- logWriter
- mot_passe
- pkList
- planName
- portNumber
- readOnly
- securityMechanism
- serverName
- utilisateur
- Facultatif : Configurez deux références res-ref et le niveau d'isolement dans le fichier ibm-ejb-jar-ext.xml.
- Créez des définitions de source de données pour une application pendant l'installation.
- Naviguez dans le panneau pour mapper les références de ressource de
l'application. Sélectionnez l'étape d'installation Mappage des références
de ressources vers les ressources et suivez les sous-étapes b et c de l'étape
1 décrivant la mise à jour des définitions de source de données pour une application déjà installée.
- Facultatif : Pour éviter les transactions à validation en deux phases, utilisez
le modèle de connexion get/use/close. Le modèle get/use/close
est l'opération par laquelle une application obtient une connexion à partir d'une source de données ou d'une fabrique de connexions, termine la tâche en cours à l'aide d'une méthode unique et n'appelle pas d'autres
méthodes avant la fin de la tâche.
- Assurez-vous que vos applications utilisent le modèle de connexion get/use/close.
- Activez le serveur d'applications pour vérifier si le modèle de connexion get/use/close
est utilisé dans les applications et permet ainsi d'éviter le traitement à validation en deux phases
si le partage conduit à l'utilisation d'une seule connexion physique.
- Cliquez sur
- Sélectionnez l'option d'optimisation du masque get/use/close/connection avec un regroupement hétérogène. Des messages d'erreur s'afficheront si vous sélectionnez
cette option et que vos applications n'utilisent pas le modèle de connexion get/use/close.
- Facultatif : Le pooling hétérogène est activé par défaut. Dans certains, cas il est préférable de le désactiver pour une source de données. Une propriété personnalisée de source de données peut être définie pour désactiver le support de pooling. La propriété personnalisée de source de données s'appelle enableHeterogeneousPooling. Si la propriété enableHeterogeneousPooling n'est pas défini pour une source de données ou qu'elle existe pour une source de données, avec la valeur true, le pooling hétérogène est activé. Si la propriété enableHeterogeneousPooling est définie pour une source de données et qu'elle a la valeur false, le pooling hétérogène est désactivé. Pour définir la propriété enableHeterogeneousPooling pour une source de données et désactiver le pooling hétérogène, procédez comme suit :
- Cliquez sur Ressources>Fournisseurs JDBC> Fournisseur_JDBC.
- Dans la section Propriétés supplémentaires, cliquez sur Source de données.
- Cliquez sur le nom de la source de données.
- Créez la propriété personnalisée enableHeterogeneousPooling.
- Cliquez sur Nouveau.
- Entrez enableHeterogeneousPooling dans la zone de nom.
- Entrez false dans la zone de valeur pour indiquer que vous voulez désactiver le pooling hétérogène.
- Cliquez sur Appliquer, puis sur Sauvegarder.