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
- Démarrez l'outil d'assemblage. Pour plus d'informations, voir les informations
relatives à Rational
Application Developer.
- 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 :
- Cliquez sur .
- Cliquez sur Suivant, puis sélectionnez le fichier EAR.
- Dans la zone correspondant au serveur cible, sélectionnez WebSphere Application
Server v7.0.
- Cliquez sur Finish.
- 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 . Un bloc-notes des propriétés de l'instance du bean enterprise s'affiche dans la sous-fenêtre des propriétés.
- Dans la sous-fenêtre de propriétés, sélectionnez
l'onglet Beans.
- Sélectionnez le bean à modifier.
- 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.
- 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.
- Pour les beans d'entité ou les beans de session, définissez les propriétés ActivitySession pour chaque méthode EJB.
- Dans la sous-fenêtre des propriétés, sélectionnez l'onglet ActivitySession.
- 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.
- Cliquez sur Next.
- Sélectionnez les méthodes auxquelles la règle Type d'ActivitySession doit être appliquée.
- 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.
- Enregistrez les modifications dans le descripteur de déploiement.
- Fermez l'éditeur de descripteur de déploiement.
- A l'invite, cliquez sur Oui pour sauvegarder les
modifications apportées au descripteur de déploiement.
- 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.
- Dans le menu contextuel du projet, cliquez sur
Déployer pour générer le code de déploiement
d'EJB.
- 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.