Utilisation de beans de démarrage

Il existe deux types de beans de démarrage, à savoir d'application et de module.

Pourquoi et quand exécuter cette tâche

Fonction obsolète Fonction obsolète: Les fonctionnalités offertes par les beans session singleton de démarrage (spécification EJB 3.1) rendent la fonction propriétaire des beans de démarrage de WebSphere Application Server obsolète.depfeat

Un bean de démarrage de module est un bean session chargé au lancement d'un fichier Jar EJB. Ce type de bean permet à des applications Java EE (Java™ Platform Enterprise Edition) d'exécuter automatiquement une logique métier chaque fois qu'un module EJB démarre ou s'arrête normalement. Un bean de démarrage d'application est quant à lui un bean session chargé au démarrage d'une application. Les beans de démarrage d'application permettent à des applications Java EE applications d'exécuter automatiquement une logique métier chaque fois qu'une application démarre ou s'arrête normalement.

Les beans de lancement sont particulièrement pratiques lorsqu'ils sont utilisés avec des fonctions de beans asynchrones. Par exemple, un bean de lancement peut créer une alarme utilisant le service JMS (Java Message Service) pour publier régulièrement des messages de signaux de présence sur une rubrique connue. Ceci permet à des clients ou à d'autres applications serveur de déterminer si l'application est disponible. Si vous utilisez le fournisseur JMS par défaut, reportez-vous à la rubrique Configuration d'une application de sorte qu'elle attende le démarrage d'un moteur de messagerie.

Procédure

  1. Pour des beans de démarrage d'application, utilisez l'interface home com.ibm.websphere.startupservice.AppStartUpHome afin de désigner un bean comme bean de démarrage d'application. Pour les beans de démarrage de module, utilisez l'interface home com.ibm.websphere.startupservice.ModStartUpHome pour désigner un bean comme bean de démarrage de module.
  2. Pour les beans de démarrage d'application, utilisez l'interface distante com.ibm.websphere.startupservice.AppStartUp afin de définir les méthodes start() et stop() sur le bean. Pour les beans de démarrage de module, utilisez l'interface distante com.ibm.websphere.startupservice.ModStartUp afin de définir les méthodes start() et stop() sur le bean.

    La méthode start() du bean de démarrage est appelée lorsque le module ou l'application démarre et contient une logique métier à exécuter à ce même moment.

    La méthode start() renvoie une valeur booléenne. True indique que la logique métier figurant dans la méthode start() a été entièrement lancée. A l'inverse, False indique que la logique métier figurant dans la méthode start() n'a pas été entièrement lancée. Cette valeur indique à Application Server que le démarrage de l'application a été abandonné.

    Les méthodes stop() du bean de démarrage sont appelées lorsque le module ou l'application s'arrête et contient une logique métier à exécuter à ce même moment. Toute exception émise par une méthode stop() est ignorée, mais journalisée. Aucune autre action n'est prise.

    Les méthodes start() et stop() ne doivent jamais utiliser l'attribut de transaction MANDATORY. Aucune transaction globale n'a lieu sur l'unité d'exécution lorsque les méthodes start() ou stop() sont appelées. Tout autre attribut TX_* peut être utilisé. En cas d'utilisation de TX_MANDATORY, une exception est journalisée et le lancement de l'application est abandonné.

    Les méthodes start() et stop() utilisent le mode Run-As sur l'interface distante. Le mode Run-As spécifie les justificatifs que doit utiliser le service de sécurité pour déterminer les permissions d'accès à différentes ressources appartenant à un principal. Si la sécurité est activée, le mode Run-As doit être défini sur toutes les méthodes appelées. L'identité du bean sans ce paramètre n'est pas définie.

    Les méthodes start() et stop() peuvent exécuter n'importe quel type de code, puisque le modèle de programmation Application Server leur est entièrement accessible.

  3. Utilisez l'entier de propriété d'environnement facultatif, wasStartupPriority, pour définir l'ordre de démarrage des beans de démarrage multiple dans le même fichier JAR (Java Archive). Si la propriété d'environnement trouvée n'est pas du type approprié, le lancement de l'application est abandonné. Si aucune valeur de priorité n'est spécifiée, une priorité par défaut 0 est utilisée. Il est recommandé de spécifier la propriété de la priorité. Les beans qui ont spécifié une priorité sont triés par ce moyen. Les beans dont les valeurs numériques de priorité sont inférieures sont exécutés en premier. Les beans de priorités identiques sont exécutés dans un ordre indéfini. Toutes les priorités doivent être des entiers positifs. Les beans sont arrêtés dans l'ordre inverse de leur lancement. Les valeurs des priorités pour les beans de démarrage de module et d'application s'excluent mutuellement. Tous les modules sont démarrés avant que l'application ne soit considérée comme démarrée et les méthodes start() des beans de démarrage de module dans une application sont appelées avant les méthodes start() de beans de démarrage d'application. De la même façon, toutes les méthodes stop() des beans de démarrage d'application pour un fichier JAR (Java Archive) sont appelées avant celles des beans de démarrage de module pour ce fichier JAR.
    Remarque : L'entier de la propriété d'environnement wasStartupPriority ne peut pas être défini à l'aide d'une commande ou de la console d'administration. Cet entier de propriété d'environnement est une entrée d'environnement EJB qui est définie par un développeur d'applications non administrateur. Définissez la valeur de type entier dans le fichier ejb-jar.xml, comme indiqué dans l'exemple suivant :
    <env-entry>
      <env-entry-name>wasStartupPriority</env-entry-name>
      <env-entry-type>java.lang.Integer</env-entry-type>
      <env-entry-value>3</env-entry-value>
    </env-entry>
    Comme pour toute autre entrée d'environnement EJB, définissez une valeur wasStartupPriority distincte pour chaque EJB.
  4. Pour les beans de démarrage de module, l'ordre de démarrage des modules EJB est modifiable via la valeur Pondération de démarrage associée à chaque module.
  5. Pour contrôler les utilisateurs pouvant appeler des méthodes de beans de démarrage via la sécurité WebSphere, procédez comme suit :
    1. Définissez les droits d'accès aux méthodes Start() et Stop() comme pour un module EJB. Consultez la section sur la définition de droits d'accès aux méthodes pour des modules EJB.
    2. Vérifiez que l'utilisateur mappé vers le rôle de sécurité défini pour les méthodes de beans de démarrage est le même que celui identifié comme ID utilisateur du serveur dans le registre d'utilisateurs.

Que faire ensuite

Reportez-vous à la rubrique paramètres du service startup beans.

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