Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

21.6.2. Configurer le service de minuterie EJB3

Le service Timer Service EJB3 peut être configuré par la console de gestion ou par l'interface CLI. Vous pouvez configurer le thread pool utilisé pour l'invocation de bean programmée, et le répertoire ou la source de données utilisée pour stocker les données du service de minuterie. Vous pourrez modifier le répertoire par défaut du Timer Service s'il y a un stockage plus rapide que le répertoire par défaut.

Procédure 21.19. Configurer le Thread Pool du service de minuterie EJB3 par la console de gestion

Conditions préalables

  • Le Thread Pool qui doit être utilisé par le service de minuterie EJB3 doit déjà avoir été créé.

  1. Connectez-vous à la console de gestion.
  2. Cliquer sur l'onglet Configuration en haut de l'écran. Étendre le menu Container et sélectionner EJB 3. Sélectionner l'onglet Services, cliquer sur Timer Services. Cliquer sur Edit.
  3. Cliquer sur la liste de menu déroulant du service EJB3 Thread Pool et cliquer sur le nom du Thread Pool que vous souhaitez.
  4. Démarrez à nouveau l'instance JBoss EAP.

Procédure 21.20. Configurez le Thread Pool du service de minuterie EJB3 par l'interface de commandes CLI

Note

Ajouter le préfixe /profile=PROFILE_NAME à la commande si vous devez appliquer les changements à un domaine géré.
  1. Exécuter la commande d'interface CLI suivante.
    /subsystem=ejb3/service=timer-service:write-attribute(name=thread-pool-name,value="thread-pool-name")
  2. Démarrez à nouveau l'instance JBoss EAP.

Procédure 21.21. Configurer le répertoire du service de minuterie EJB3 par la console de gestion

  1. Connectez-vous à la console de gestion.
  2. Cliquer sur l'onglet Configuration en haut de l'écran. Étendre le menu Container et sélectionner EJB 3. Sélectionner l'onglet Services, cliquer sur Timer Services. Cliquer sur Edit.
  3. Saisir les valeurs souhaitées dans les champs Path et Relative To.
  4. Cliquer sur le bouton Enregistrer.
  5. Démarrez à nouveau l'instance JBoss EAP.

Procédure 21.22. Configurer le répertoire du service de minuterie EJB3 par l'interface CLI

  1. Selon le chemin que vous souhaitez suivre, exécuter une ou deux des commandes CLI suivantes. Quel que soit le chemin choisi, vous pouvez utiliser une valeur système - par exemple, ${jboss.server.data.dir}.

    Note

    Ajouter le préfixe /profile=PROFILE_NAME à la commande si vous devez appliquer les changements à un domaine géré.
    /subsystem=ejb3/service=timer-service/file-data-store=default-file-store:write-attribute(name=path,value="path")
    /subsystem=ejb3/service=timer-service/file-data-store=default-file-store:write-attribute(name=relative-to,value="relative-path")
  2. Démarrez à nouveau l'instance JBoss EAP.

Procédure 21.23. Configurez le service de minuterie EJB3 à utiliser une source de données par l'interface de commandes CLI

À partir de JBoss EAP 6.4, vous pourrez configurer le service de minuterie EJB3 pour qu'il utilise une source de données à la place d'un répertoire local. Il y a un moindre coût de performance à cette option, mais cela à comme avantage de diminuer le risque aux données du minuteur en cas de problème de stockage local.
Une fois que le service de minuterie EJB3 est configuré pour utiliser une source de données, vous devrez soit configurer un déploiement EJB pour qu'il utilise le datastore ou le configurer comme valeur par défaut pour tous les déploiements. Pour obtenir des instructions sur la façon de procéder, voir la procédure Configure one or all EJB3 Deployments to use the Datasource.
Conditions préalables

  • La source de données à utiliser par le service de minuterie EJB3 doit déjà exister et la base de données sous-jacente doit être compatible pour et être configurée en mode s'isolation READ_COMMITTED or SERIALIZABLE.

Note

Ajouter le préfixe /profile=PROFILE_NAME à la commande si vous devez appliquer les changements à un domaine géré.
  • Exécuter la commande d'interface CLI suivante.
    • datastore_name - Un nom de votre choix
    • datasource_name - le nom JNDI de la source de données JDBC utilisée pour le stockage.
    • database - soit postgresql, mssql, sybase, mysql, oracle, db2, ou hsql.
    • partition_name - un nom de votre choix. Cet attribut est utilisé pour distinguer les minuteries d'instance particulière de serveur quand plusieurs instances de JBoss EAP partagent la même base de données pour stocker des minuteries EJB. Dans ce cas, chaque instance de serveur doit avoir son propre nom de partition. Si la base de données est utilisée par une seule instance de serveur, vous pouvez laisser cet attribut vide.
    /subsystem=ejb3/service=timer-service/database-data-store=datastore_name:add(datasource-jndi-name='java:/datasource_name', database='database', partition='partition_name')

Procédure 21.24. Configurer un ou tous les déploiements EJB3 pour qu'ils puissent utiliser la source de donnnées

Vous pouvez soit configurer un déploiement EJB3 pour utiliser la source de données du Timer Service ou configurez-le comme la valeur par défaut pour tous les déploiements.
    • Pour configurer un déploiement EJB3 pour qu'il utilise une source de données, modifier le fichier jboss-ejb3.xml du déploiement pour que la section timer ressemble à ce qui suit. Remplacer datastore_name par le nom du datastore.
      [<assembly-descriptor>
        <timer:timer>
          <ejb-name>*</ejb-name>
          <timer:persistence-store-name>datastore_name</timer:persistence-store-name>
        </timer:timer>
      </assembly-descriptor>
    • Pour configurer la source de données par défaut pour tous les déploiements, exécutez la commande d'interface CLI suivante, puis redémarrez l'instance de JBoss EAP. Remplacer datastore_name par le nom du datastore.

      Note

      Ajouter le préfixe /profile=PROFILE_NAME à la commande si vous devez appliquer les changements à un domaine géré.
      [/subsystem=ejb3/service=timer-service:write-attribute(name=default-data-store,value=datastore_name)