Modification des paramètres du pool de connexions à l'aide de l'outil wsadmin

Vous pouvez utiliser l'outil de scriptage wsadmin pour modifier les paramètres du pool de connexions.

Pourquoi et quand exécuter cette tâche

L'outil wsadmin exécute des scripts. Vous pouvez utiliser cet outil pour gérer l'installation de WebSphere Application Server, ainsi que les opérations de configuration, de déploiement d'application et d'exécution de serveur. Le produit prend uniquement en charge les langages de script Jacl et Jython. Pour en savoir plus sur l'outil wsadmin, consultez la rubrique Démarrage du client de script wsadmin.

Vous pouvez utiliser l'outil wsadmin pour modifier les paramètres du pool de connexions :

Procédure

  1. Lancez une commande de script. Vous disposez de plusieurs options pour exécuter des commandes de scriptage, allant de leur exécution de façon interactive à leur exécution dans un profil.

    Pour modifier les paramètres du pool de connexions, utilisez les commandes getAttribute et setAttribute, exécutées sur les différents objets de paramètres.

    Par exemple, pour modifier le paramètre de délai de connexion, les commandes sont les suivantes :
    $AdminControl getAttribute $objectname connectionTimeout
    $AdminControl setAttribute $objectname connectionTimeout 200
    où :
    • $ est un opérateur Jacl permettant de remplacer un nom de variable par sa valeur
    • getAttribute et setAttribute sont les commandes
    • connectionTimeout est l'objet dont vous redéfinissez la valeur
  2. Pour obtenir des exemples de code Jacl pour chacun des paramètres du pool de connexions, voir la rubrique Exemple : Modification des paramètres du pool de connexions avec l'outil wsadmin.

Exemple : Modification des paramètres du pool de connexions à l'aide de l'outil wsadmin.

A l'aide de l'objet wsadmin AdminControl, vous pouvez créer des scripts pour les modifications à apporter aux paramètres du pool de connexion.

L'outil wsadmin exécute des scripts dans les langages Jacl et Jython uniquement. Vous devez démarrer le client de script wsadmin avant d'exécuter toute autre tâche utilisant des scripts. Pour plus d'informations, consultez la rubrique relative au démarrage du client de scriptage wsadmin.

Pour plus d'informations sur l'objet de script AdminControl, consultez la rubrique Utilisation de l'objet AdminControl pour l'administration scriptée.

Le délai d'expiration de connexion peut être modifié à tout moment pendant que le pool est actif. Lorsque vous modifiez la valeur du délai d'expiration de connexion, le délai d'expiration de connexion pour toutes les demandes de connexion en attente est remplacé par la nouvelle valeur, déduction faite de la période d'attente déjà écoulée, et les demandes sont remises à l'état d'attente si aucune connexion n'est disponible.

Par exemple, si le délai d'expiration de la connexion passe à 300 secondes et qu'une demande de connexion a déjà attendu 100 secondes, celle-ci attend 200 secondes supplémentaires si aucune connexion ne devient disponible.

$AdminControl getAttribute $objectname connectionTimeout
$AdminControl setAttribute $objectname connectionTimeout 200

Pour plus d'informations sur ce paramètre, voir la rubrique Paramètres des pools de connexions. .

Le nombre maximal de connexions peut être modifié à tout moment sauf lorsque le support des connexions inactives est activé.

Si le support des connexions inactives est activé, une tentative de modification du nombre de connexions maximales est effectuée. Si la tentative échoue, une exception IllegalState est générée. Pour plus d'informations, voir la rubrique Paramètres avancés des pools de connexions.

Si le support des connexions inactives n'est pas activé, le nombre maximal de connexions est modifié et prend la nouvelle valeur. Si la nouvelle valeur est supérieure à la valeur actuelle, le nombre de connexions augmente jusqu'à la nouvelle valeur et toutes les demandes en attente en sont notifiées. Si la nouvelle valeur est inférieure à la valeur actuelle et si le paramètre Délai d'ancienneté ou Intervalle de régulation est utilisé, le nombre de connexions diminue jusqu'à la nouvelle valeur en fonction de l'activité du pool. Si les paramètres Délai d'ancienneté ou Intervalle de régulation ne sont pas utilisés, aucune tentative automatique n'est effectuée pour réduire le nombre total de connexions. Pour réduire manuellement le nombre de connexions jusqu'au nouveau nombre maximal de connexions, utilisez la fonction Mbean purgePoolContents.

$AdminControl getAttribute $objectname maxConnections
$AdminControl setAttribute $objectname maxConnections 200

Pour plus d'informations sur ce paramètre, voir la rubrique Paramètres des pools de connexions.

Le nombre minimal de connexions peut être modifié à tout moment.

$AdminControl getAttribute $objectname minConnections
$AdminControl setAttribute $objectname minConnections 200

Pour plus d'informations sur ce paramètre, voir la rubrique Paramètres des pools de connexions.

L'intervalle de régulation peut être modifié à tout moment. Il est modifié en fonction de la nouvelle valeur lors de l'intervalle suivant.

$AdminControl getAttribute $objectname reapTime
$AdminControl setAttribute $objectname reapTime 30
Délai d'inutilisation

Le délai d'inutilisation peut être modifié à tout moment.

$AdminControl getAttribute $objectname unusedTimeout
$AdminControl setAttribute $objectname unusedTimeout 900

Pour plus d'informations sur ce paramètre, voir la rubrique Paramètres des pools de connexions.

Le délai d'ancienneté peut être modifié à tout moment.

$AdminControl getAttribute $objectname agedTimeout
$AdminControl setAttribute $objectname agedTimeout 900

Pour plus d'informations sur ce paramètre, voir la rubrique Paramètres des pools de connexions.

La règle de purge peut être modifiée à tout moment.

$AdminControl getAttribute $objectname purgePolicy
$AdminControl setAttribute $objectname purgePolicy "Failing Connection Only"

Pour plus d'informations sur ce paramètre, voir la rubrique Paramètres des pools de connexions.

Le support de protection contre les surcharges est lancé si surgeThreshold > -1 et surgeCreationInterval > 0. Les propriétés de protection contre les surcharges peuvent être modifiées à tout moment.

$AdminControl getAttribute $objectname surgeCreationInterval
$AdminControl setAttribute $objectname surgeCreationInterval 30
$AdminControl getAttribute $objectname surgeThreshold
$AdminControl setAttribute $objectname surgeThreshold 15

Pour plus d'informations sur ce paramètre, voir la rubrique Paramètres des pools de connexions.

Une tentative de modification des propriétés stuckTime, stuckTimerTime ou stuckThreshold est effectuée. Si la tentative échoue, une exception IllegalState est générée. Le pool ne doit pas comprendre de demandes actives ni de connexions actives au moment de cette requête. Pour que le support des connexions inactives soit lancé, les valeurs des trois propriétés d'inactivité doivent être supérieures à zéro, et la valeur du nombre maximal de connexions doit être > 0.

Si le pool de connexions est inactif, vous ne pouvez pas modifier les propriétés connexions inactives ou nombre maximal de connexions. Si vous êtes bloqué, des connexions actives sont disponibles.

$AdminControl getAttribute $objectname stuckTime
$AdminControl setAttribute $objectname stuckTime 30
$AdminControl getAttribute $objectname stuckTimerTime
$AdminControl setAttribute $objectname stuckTimerTime 15
$AdminControl getAttribute $objectname stuckThreshold
$AdminControl setAttribute $objectname stuckThreshold 10

Pour plus d'informations sur ce paramètre, voir la rubrique Paramètres avancés des pools de connexions.

Le support du service de connexion test est lancé lorsque la propriété testConnection a pour valeur true et que l'interface est > 0. Les propriétés de connexion test peuvent être modifiées à tout moment.

$AdminControl getAttribute $objectname testConnection
$AdminControl setAttribute $objectname testConnection 30
$AdminControl getAttribute $objectname testConnectionInterval
$AdminControl setAttribute $objectname testConnectionInterval 15

Pour plus d'informations sur ce paramètre, voir la rubrique Test du service de connexion.

$AdminControl invoke $objectname freePoolDistributionTableSize
$AdminControl invoke $objectname numberOfFreePoolPartitions
$AdminControl invoke $objectname numberOfSharedPoolPartitions
$AdminControl invoke $objectname gatherPoolStatisticalData
$AdminControl invoke $objectname enablePoolStatisticalData

Pour plus d'informations sur ce paramètre, voir la rubrique Paramètres des pools de connexions.

Les opérations d'affichage du pool peuvent être modifiées à tout moment.

$AdminControl invoke $objectname showAllPoolContents
$AdminControl invoke $objectname showPoolContents
$AdminControl invoke $objectname showAllocationHandleList

Le paramètre PurgePool peut être modifié à tout moment.

$AdminControl invoke $objectname purgePoolContents normal
$AdminControl invoke $objectname purgePoolContents immediate
Pour les sources de données et les fabriques de connexions, si l'option normale est sélectionnée, le pool purgé se comporte de la manière suivante après l'appel de purge :
  • Les transactions en cours existantes se poursuivent.
  • Les demandes de connexion partagée sont honorées.
  • Les connexions disponibles sont nettoyées et supprimées.
  • Les connexions utilisées (connexions des transactions) sont nettoyées et supprimées lors de leur retour dans le pool de connexions.
  • Les appels close() émis sur des connexions obtenues avant l'appel purgePoolContents call sont effectués de manière synchrone. Autrement dit, ils attendent que le pilote jdbc soit renvoyé avant de continuer.
  • Les demandes de nouvelles connexions (non les descripteurs d'anciennes connexions existantes) sont honorées.
Pour les sources de données s'appuyant sur l'adaptateur de ressources relationnelles WebSphere intégré, si l'option immediate est sélectionnée, le pool purgé se comporte de la manière suivante après l'appel de purge :
  • Aucune nouvelle transaction ne peut pas démarrer sur les connexions obtenues avant l'appel purgePoolContents. A la place, une exception StaleConnectionException est émise.
  • Aucun nouveau descripteur ne peut être transmis à des connexions avant l'appel purgePoolContents. A la place, une exception StaleConnectionException est émise.
  • L'exécution des transactions en cours se poursuit mais toute nouvelle activité sur la connexion purgée provoque une exception StaleConnectionException ou XAER_FAIL.
  • Les appels close() émis sur des connexions obtenues avant l'appel purgePoolContents() sont effectués de manière asynchrone (aucune attente).
  • Les demandes de nouvelles connexions (non les descripteurs d'anciennes connexions existantes) sont honorées.
  • Le nombre de connexions est immédiatement décrémenté. De ce fait, le nombre total de connexions au sein du serveur d'applications peut être temporairement différent du nombre total de connexions de la base de données.
Pour les sources de données n'utilisant pas l'adaptateur de ressources relationnelles WebSphere intégré et toutes les fabriques de connexions, si l'option immediate est sélectionnée, le pool purgé se comporte de la manière suivante après l'appel de purge :
  • Les appels close() émis sur des connexions obtenues avant l'appel purgePoolContents() sont effectués de manière asynchrone (aucune attente).
  • Les demandes de nouvelles connexions (non les descripteurs d'anciennes connexions existantes) sont honorées.
  • Le nombre de connexions est immédiatement décrémenté. De ce fait, le nombre total de connexions au sein du serveur d'applications peut être temporairement différent du nombre total de connexions de la ressource dorsale.

Les paramètres de pause et de reprise (resume) peuvent être modifiés à tout moment.

$AdminControl invoke $objectname pause
$AdminControl invoke $objectname resume

Les commandes wsadmin permettent d'accéder aux Mbeans de la fabrique de connexions et de la source de données. Les MBeans peuvent extraire ou mettre à jour des propriétés pour une fabrique de connexions ou une source de données.

Pour obtenir une liste des noms d'objet Mbean de la source de données ou de la fabrique de connexions J2C à partir de la ligne de commande wsadmin, utilisez l'une des commandes de contrôle administratif suivantes :

$AdminControl queryNames *:type=J2CConnectionFactory,*
$AdminControl queryNames *:type=DataSource,*

Exemple de sortie d'une requête de source de données :

wsadmin>$AdminControl queryNames *:type=DataSource,*
"WebSphere:name=Default Datasource,process=server1,platform=dynamicproxy,node=
system1Node01,JDBCProvider=Derby JDBC Provider,j2eeType=JDBCDataSource,J2EESe
rver=server1,Server=server1,version=6.0.0.0,type=DataSource,mbeanIdentifier=cell
s/system1Node01Cell/nodes/system1Node01/servers/server1/resources.xml#DataSource
_1094760149902,JDBCResource=Derby JDBC Provider,cell=system1Node01Cell"

Vous pouvez accéder au MBean en utilisant le nom d'objet MBean de la source de données ou de la fabrique de connexions J2C. Le nom suit l'expression webSphere:name=. Dans l'exemple suivant, pour le premier ensemble, le nom par défaut de la source de données est défini sur un nom de variable. Pour le deuxième ensemble, le nom d'objet est défini sur un objectName de variable.

Exemple utilisant la source de données par défaut :

- wsadmin>set name [list Default Datasource] 

Default Datasource

- wsadmin>set objectName [$AdminControl queryNames *:name=$name,*]


"WebSphere:name=Default Datasource,process=server1,platform=dynamicproxy,node=
system1Node01,JDBCProvider=Derby JDBC Provider,j2eeType=JDBCDataSource,J2EESe
rver=server1,Server=server1,version=6.0.0.0,type=DataSource,mbeanIdentifier=cell
s/system1Node01Cell/nodes/system1Node01/servers/server1/resources.xml#DataSource
_1094760149902,JDBCResource=Derby JDBC Provider,cell=system1Node01Cell"

Vous pouvez désormais utiliser le nom d'objet pour obtenir de l'aide sur les attributs et les opérations disponibles pour ce Mbean.

$Help attributes $objectName
$Help operations $objectName

Pour obtenir ou définir un attribut ou pour utiliser une opération, utilisez l'une des commandes suivantes :

$AdminControl getAttribute $objectName "attribute name"
$AdminControl setAttribute $objectName "attribute name" value 
$AdminControl invoke $objectName "operation"

Exemple d'attribut, d'opération :

Get and set an attribute maxConnections. If you get no value, a null value, or 
a java.lang.IllegalStateException, the connection factory or data source for this 
MBean has not been created. The connection factory or data source is created at first 
JNDI lookup. For this example, the Default DataSource must be used before get, 
set and invoke will work.

wsadmin>$AdminControl getAttribute $objectName maxConnections
10

wsadmin>$AdminControl setAttribute $objectName maxConnections 20

wsadmin>$AdminControl getAttribute $objectName maxConnections
20

Using invoke

wsadmin>$AdminControl invoke $objectName showPoolContents 

PoolManager name:DefaultDatasource
PoolManager object:746354514
Total number of connections: 3 (max/min 20/1, reap/unused/aged 180/1800/0, 
connectiontimeout/purge 1800/EntirePool)
                               (testConnection/inteval false/0, stuck timer/time
/threshold 0/0/0, surge time/connections 0/-1)
Shared Connection information (shared partitions 200)
  No shared connections

Free Connection information (free distribution table/partitions 5/1)
  (2)(0)MCWrapper id 5c6af75b  Managed connection WSRdbManagedConnectionImpl@4b5
a775b  State:STATE_ACTIVE_FREE
  (2)(0)MCWrapper id 3394375a  Managed connection WSRdbManagedConnectionImpl@328
5f75a  State:STATE_ACTIVE_FREE
  (2)(0)MCWrapper id 4795b75a  Managed connection WSRdbManagedConnectionImpl@46a
4b75a  State:STATE_ACTIVE_FREE

  Total number of connections in free pool: 3
UnShared Connection information
  No unshared connections

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_chgconwsadmin
Nom du fichier : tdat_chgconwsadmin.html