Définition des attributs de déploiement d'une session ActivitySession dans un module EJB

Utilisez cette tâche pour définir les attributs de déploiement du service ActivitySession pour un bean enterprise, afin de permettre à celui-ci de participer à un service ActivitySession et de prendre en charge les opérations liées à ActivitySession.

Avant de commencer

Cette tâche suppose que vous disposez d'un fichier EAR (Enterprise Archive) contenant un bean enterprise d'application qui peut être déployé dans WebSphere Application Server. Pour plus d'informations, reportez-vous à la rubrique Assemblage d'applications.

Pourquoi et quand exécuter cette tâche

Vous pouvez configurer les attributs de déploiement d'une application à l'aide d'un outil d'assemblage. Cette rubrique présente l'utilisation de Rational Application Developer pour configurer les attributs de déploiement d'ActivitySession. Il existe d'autres attributs, comme l'attribut "Chargement sur" (qui indique quand le bean charge son état dans la base de données). Pour plus d'informations sur les zones de l'outil d'assemblage et l'aide associée, consultez les rubriques sur Rational Application Developer.

Pour configurer les attributs de déploiement du service ActivitySession pour un bean enterprise, procédez comme suit :

Procédure

  1. Démarrez l'outil d'assemblage. Pour plus d'informations, voir les informations relatives à Rational Application Developer.
  2. Créez ou modifiez le fichier EAR de l'application.
    Remarque : Assurez-vous que vous avez défini le serveur cible sur WebSphere Application Server version 7.0.

    Par exemple, pour modifier les attributs d'une application existante, l'assistant d'importation importe le fichier EAR dans l'outil d'assemblage. Pour démarrer l'assistant d'importation :

    1. Cliquez sur Fichier > Importer > fichier EAR.
    2. Cliquez sur Suivant, puis sélectionnez le fichier EAR.
    3. Dans la zone correspondant au serveur cible, sélectionnez WebSphere Application Server v7.0.
    4. Cliquez sur Finish.
  3. Dans la vue Explorateur de projets de la perspective Java™ EE, cliquez à l'aide du bouton droit de la souris sur le module EJB de l'instance du bean enterprise, puis cliquez sur Ouvrir avec > Editeur de descripteur de déploiement. Un bloc-notes des propriétés de l'instance du bean enterprise s'affiche dans la sous-fenêtre des propriétés.
  4. Dans la sous-fenêtre de propriétés, sélectionnez l'onglet Beans.
  5. Sélectionnez le bean à modifier.
  6. Dans la section Extensions WebSphere, sous Cache du bean, associez l'attribut Activer à à ActivitySession :
    Un bean enterprise avec cette règle d'activation est activé et passivé de la façon suivante :
    • Sur une limite de ActivitySession, en présence d'un contexte ActivitySession lors de l'activation.
    • Sur une limite de transaction, en présence d'un contexte de transaction et non d'un contexte ActivitySession, lors de l'activation.
    • Sinon, sur une limite d'appel.
  7. Dans la boîte d'options Transactions locales, attribuez à l'attribut Limite la valeur ActivitySession : Quand ce paramètre est utilisé, la transaction locale doit être résolue dans la portée du contexte ActivitySession dans lequel elle a été lancée ou, en l'absence de contexte ActivitySession, dans la même méthode de bean dans laquelle elle a été lancée.

    Les paramètres d'une ActivitySession ne s'appliquent à aucune méthode Home EJB, par exemple les méthodes create ou finder. Les méthodes Home EJB ne peuvent pas participer à une ActivitySession car cette situation risque d'entraîner des blocages.

  8. Pour les beans d'entité ou les beans de session, définissez les propriétés ActivitySession pour chaque méthode EJB.
    1. Dans la sous-fenêtre des propriétés, sélectionnez l'onglet ActivitySession.
    2. Dans la zone Configurer des règles ActivitySession cliquez sur Ajouter ou Editer pour définir l'attribut Type d'ActivitySession pour les méthodes du bean enterprise. Cet attribut indique comment le conteneur doit gérer les limites de ActivitySession lors de la délégation d'un appel de méthode à une méthode métier de bean enterprise :
      Jamais
      Le conteneur appelle les méthodes de bean en dehors d'un contexte ActivitySession.
      • Si le client appelle une méthode de bean à partir d'un contexte ActivitySession, le conteneur génère l'exception InvalidActivityException, qui est une exception javax.rmi.RemoteException.
      • Si le client appelle une méthode de bean hors d'un contexte ActivitySession, le conteneur se comporte comme si valeur Not Supported était spécifiée. Le client doit appeler la méthode sans contexte ActivitySession.
      Obligatoire
      Le conteneur appelle toujours la méthode de bean dans le contexte ActivitySession associé au client. Si le client tente d'appeler la méthode de bean en dehors d'un contexte ActivitySession, le conteneur renvoie l'exception ActivityRequiredException au client. Le contexte ActivitySession est transmis aux objets ou ressources EJB auxquels accède une méthode de bean enterprise.

      L'exception ActivityRequiredException est une exception javax.rmi.RemoteException.

      Requires new
      Le conteneur appelle toujours la méthode de bean dans un nouveau contexte ActivitySession, que le client appelle la méthode à partir ou en dehors d'un contexte ActivitySession. Le nouveau contexte ActivitySession est transmis aux objets ou ressources de beans enterprise utilisés par cette méthode de bean.

      Tout contexte ActivitySession reçu est interrompu pour la durée de la méthode et repris après la fin de celle-ci. Le conteneur commence une nouvelle session ActivitySession avant la répartition de la méthode et la termine après la fin de la méthode.

      Obligatoire
      Le conteneur appelle la méthode de bean dans un contexte ActivitySession. Si un client appelle une méthode de bean à partir d'un contexte ActivitySession, le conteneur appelle la méthode de bean dans un contexte ActivitySession. Si un client appelle une méthode de bean en dehors d'un contexte ActivitySession, le conteneur crée un nouveau contexte ActivitySession et appelle la méthode de bean à partir de ce contexte. Le contexte ActivitySession est transmis aux objets ou ressources de beans enterprise utilisés par cette méthode de bean.
      Pas de prise en charge
      Le conteneur appelle les méthodes de bean en dehors d'un contexte ActivitySession. Si un client appelle une méthode de bean à partir d'un contexte ActivitySession, le conteneur suspend l'association entre la session ActivitySession et l'unité d'exécution en cours avant d'appeler la méthode sur l'instance de bean enterprise. Le conteneur rétablit l'association lorsque l'appel de méthode est renvoyé. Le contexte ActivitySession interrompu n'est pas transmis aux objets ou ressources de bean enterprise utilisés par cette méthode de bean.
      Supporte
      Si le client appelle la méthode de bean dans un contexte ActivitySession, le conteneur appelle la méthode de bean dans un contexte ActivitySession. Si le client appelle la méthode de bean en dehors d'un contexte ActivitySession, le conteneur appelle également la méthode de bean en dehors d'un contexte ActivitySession. Le contexte ActivitySession est transmis aux objets ou ressources de beans enterprise utilisés par cette méthode de bean.
    3. Cliquez sur Next.
    4. Sélectionnez les méthodes auxquelles la règle Type d'ActivitySession doit être appliquée.
    5. Cliquez sur Finish.

    La façon dont le conteneur gère les limites de la session ActivitySession lors de la délégation d'un appel de méthode dépend à la fois du type de session ActivitySession défini ici et du type de transaction de conteneur, comme décrit dans la rubrique Configuration des attributs de déploiement transactionnel. Pour plus d'informations sur la relation entre ces deux propriétés, reportez-vous à la rubrique ActivitySession et combinaison de règles de conteneur.

  9. Enregistrez les modifications dans le descripteur de déploiement.
    1. Fermez l'éditeur de descripteur de déploiement.
    2. A l'invite, cliquez sur Oui pour sauvegarder les modifications apportées au descripteur de déploiement.
  10. Vérifiez les fichiers archive. Pour plus d'informations sur la vérification des fichiers à l'aide de Rational Application Developer, consultez les informations relatives à Rational Application Developer.
  11. Dans le menu contextuel du projet, cliquez sur Déployer pour générer le code de déploiement d'EJB.
  12. Facultatif : Testez le module terminé sur une installation WebSphere Application Server. Cliquez à l'aide du bouton droit sur un module, cliquez sur Exécuter sur le serveur, puis suivez les instructions qui figurent dans l'assistant proposé.
    Important : Utilisez l'option Exécuter sur le serveur pour un test d'unité uniquement. L'outil d'assemblage contrôle l'installation de WebSphere Application Server et écrase le fichier de configuration de serveur de celle-ci, lorsqu'une application est publiée à distance. N'utilisez pas l'option d'exécution sur le serveur sur des serveurs de production.

Que faire ensuite

Après l'assemblage de votre application, utilisez un outil de gestion des systèmes pour déployer le fichier EAR sur le serveur d'applications exécutant l'application. Par exemple, pour utiliser la console d'administration, reportez-vous à la rubrique Déploiement et administration d'applications d'entreprise.

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