Configuration du service de temporisation à l'aide de l'outil de script

Utilisez l'outil de script wsadmin pour configurer le service de temporisation EJB (JavaBeans).

Avant de commencer

Vous savez utiliser Jacl ou Jython et le script wsadmin.

Pourquoi et quand exécuter cette tâche

Le comportement des temporisateurs d'EJB est configuré avec l'objet de configuration EJBTimer dans le fichier server.xml. Si vous disposez de temporisateurs d'EJB, vous devez mettre à jour l'objet de configuration EJBTimer pour obtenir les paramètres optimaux pour votre environnement.

L'objet de configuration EJBTimer existe au niveau du serveur. Cela signifie que chaque serveur d'un environnement à plusieurs serveurs possède son propre objet de configuration EJBTimer et doit être configuré individuellement.

Procédure

  1. Lancez l'outil de script à l'aide de Jython ou du langage de script.
  2. Déterminez les attributs dans l'objet de configuration EJBTimer à mettre à jour. Vous pouvez mettre à jour les attributs suivants dans l'objet de configuration EJBTimer :
    • datasourceJNDIName
    • datasourceAlias
    • tablePrefix
    • pollInterval
    • numAlarmThreads
    • schedulerJNDIName
    • numNPTimerThreads
    • nonPersistentTimerRetryCount
    • nonPersistentTimerRetryInterval
    • uniqueTimerManagerForNP

    Pour une description complète de ces attributs, consultez les informations sur les paramètres du service de temporisation EJB.

    Il existe quatre types de temporisateurs d'EJB :
    • les temporisateurs persistants pris en charge par une instance de planificateur interne par défaut,
    • les temporisateurs persistants pris en charge par une instance de planificateur personnalisé,
    • les temporisateurs non persistants qui partagent un pool d'unités d'exécution avec des temporisateurs persistants,
    • les temporisateurs non persistants qui ne partagent pas de pool d'unités d'exécution avec des temporisateurs persistants.
    Le serveur est déjà configuré en vue de l'utilisation de l'un des deux types de temporisateur persistant et de l'un des deux types de temporisateur non persistant.

    L'objet de configuration EJBTimer contient les données de configuration pour les quatre types de temporisateur d'EJB. Chaque type de temporisateur d'EJB utilise un sous-ensemble des attributs de configuration figurant dans l'objet de configuration EJBTimer. Tous les attributs de l'objet de configuration EJBTimer sont utilisés pour configurer au moins l'un des types de temporisateur ; aucun d'entre eux n'est utilisé pour configurer tous les types de temporisateur. Par conséquent, vous devez savoir quel type de temporisateur vous configurez et quels attributs de configuration s'appliquent à ce type de temporisateur.

    Tableau 1. Types de temporisateur et attributs de configuration. Indique les attributs d'EJBTimer qui sont utilisés pour configurer chaque type de temporisateur.
    Attribut Persistant, planificateur par défaut Persistant, planificateur personnalisé Non persistant, pool d'unités d'exécution partagé Non persistant, pool d'unités d'exécution unique
    datasourceJNDIName Oui Non, spécifié à la place dans la configuration du planificateur personnalisé Non Non
    datasourceAlias Oui Non, spécifié à la place dans la configuration du planificateur personnalisé Non Non
    tablePrefix Oui Non, spécifié à la place dans la configuration du planificateur personnalisé Non Non
    pollInterval Oui Non, spécifié à la place dans la configuration du planificateur personnalisé Non Non
    numAlarmThreads Oui Non Yes Non
    schedulerJNDIName Non Oui Non Non
    numNPTimerThreads Non Non Non Oui
    nonPersistentTimerRetryCount Non Non Oui Oui
    nonPersistentTimerRetryInterval Non Non Oui Oui
    uniqueTimerManagerForNP Non Non Oui Oui

    La présence d'une valeur pour l'attribut schedulerJNDIName détermine le type de temporisateur persistant qui est utilisé. Si l'attribut schedulerJNDIName est associé à une valeur, une instance de planificateur personnalisé est utilisée. S'il n'est pas pas associé à une valeur, l'instance de planificateur interne par défaut est utilisée.

    L'attribut numAlarmThreads est mappé vers l'option Nombre d'unités d'exécution de compteur dans la section de configuration du temporisateur d'EJB persistant de la console d'administration. L'attribut numNPTimerThreads est mappé vers l'option Nombre d'unités d'exécution de compteur dans la section de configuration du temporisateur d'EJB non persistant de la console d'administration.

    L'attribut uniqueTimerManagerForNP est mappé vers les options Partager le pool d'unités d'exécution configuré pour les compteurs persistants et Créer un pool d'unités d'exécution distinct pour les compteurs non persistants dans la console d'administration.

    L'attribut uniqueTimerManagerForNP détermine si le pool d'unités d'exécution est partagé entre les temporisateurs persistants et non persistants. Il détermine également si l'attribut de configuration numAlarmThreads ou numNPTimerThreads est utilisé.

    Tableau 2. Impacts de l'attribut uniqueTimerManagerForNP. L'attribut uniqueTimerManagerForNP a des conséquences sur le partage des pools d'unités d'exécution et sur la configuration des unités d'exécution.
    Attribut uniqueTimerManagerForNP Les temporisateurs persistants et non persistants partagent un pool d'unités d'exécution L'attribut de configuration d'unité d'exécution qui est utilisé L'attribut de configuration d'unité d'exécution qui est ignoré
    true Non numNPTimerThreads numAlarmThreads
    false Oui numAlarmThreads numNPTimerThreads
  3. Obtenez une référence à l'objet de configuration EJBTimer approprié et stockez-la dans une variable.

    Avec Jacl :

    set timer [$AdminConfig list EJBTimer]
    Avec Jython :
    timer = AdminConfig.list('EJBTimer') 

    Si votre environnement comporte plusieurs serveurs, plusieurs objets de configuration EJBTimer sont renvoyés. Parcourez la liste en boucle à l'aide d'un programme et sélectionnez l'objet EJBTimer qui correspond au serveur que vous devez mettre à jour.

    Dans un environnement à plusieurs serveurs, au lieu de parcourir la liste des objets EJBTimer en boucle à l'aide d'un programme, vous pouvez manuellement sélectionner l'objet EJBTimer approprié puis le copier et le coller dans votre variable.

    Par exemple, si la sortie de la commande AdminConfig list est :

    (cells/myCell01/nodes/myCellManager01/servers/dmgr|server.xml#EJBTimer_1)(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)

    Copiez et collez la référence de l'objet EJBTimer requis dans votre variable.

    A l'aide de Jacl :
    set timer "(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)"
    Avec Jython :
    timer = "(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)"
  4. Mettez à jour les attributs dans l'objet de configuration EJBTimer.

    Mettez à jour les attributs dans l'objet de configuration EJBTimer à l'aide de la commande AdminConfig modify. Le premier argument de la commande est la référence EJBTimer obtenue à l'étape précédente. Le deuxième argument de la commande est une liste de paires nom/valeur.

    Pour définir un nombre de tentatives de 10 et un intervalle entre les nouvelles tentatives de 15 secondes :

    A l'aide de Jacl :
     set update "{nonPersistentTimerRetryCount 10} {nonPersistentTimerRetryInterval 15}"
     $AdminConfig modify $timer $update
    Avec Jython :
    AdminConfig.modify(timer, '[[nonPersistentTimerRetryCount "10"] [nonPersistentTimerRetryInterval "15"]]') 
  5. Sauvegardez les modifications de configuration.
    Avec Jython :
    AdminConfig.save()
    A l'aide de Jacl :
    $AdminConfig save
  6. Dans un environnement de déploiement en réseau uniquement, synchronisez le noeud.

    Avec Jacl :

    set sync1 [$AdminControl completeObjectName type=NodeSync,node=<your node>,*]
    $AdminControl invoke $sync1 sync
    A l'aide de Jython :
    sync1 = AdminControl.completeObjectName('type=NodeSync,node=<your node>,*')
    AdminControl.invoke(sync1, 'sync')
    Vous devez exécuter la synchronisation du noeud de ces exemples lorsque vous êtes connecté au serveur.

Résultats

Suite à vos mises à jour, l'objet de configuration EJBTimer reflète les valeurs d'attribut que vous avez spécifiées. Redémarrez votre serveur pour que les modifications soient appliquées sur le serveur.

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=txml_ejbTimer_config
Nom du fichier : txml_ejbTimer_config.html