Développement d'un bean enterprise ou d'un client d'application d'entreprise pour gérer des sessions ActivitySession
Utilisez cette tâche pour écrire le code requis par un bean EJB de session ou par un client d'application d'entreprise pour gérer une session ActivitySession, sur la base du code fourni à titre d'exemple.
Pourquoi et quand exécuter cette tâche
Dans la plupart des cas, la gestion des sessions ActivitySession au sein d'un bean dépend du conteneur d'EJB. Il vous suffit donc de définir les attributs appropriés du service ActivitySession dans le descripteur de déploiement du module EJB, comme décrit dans la rubrique Configuration des attributs de déploiement du service ActivitySession d'un module EJB. En outre, d'une manière générale, il est pratique de concevoir vos beans enterprise de sorte que toutes les opérations de gestion du service ActivitySession s'effectuent au niveau du bean.
Toutefois, dans certains cas, vous aurez peut-être besoin qu'un bean session ou qu'un client d'application d'entreprise participe directement aux sessions ActivitySession. Vous devez alors écrire le code nécessaire au bean session ou au client d'application d'entreprise pour gérer ses propres sessions ActivitySession.
Lorsque vous vous apprêtez à écrire le code nécessaire à un bean session ou à un client d'application d'entreprise pour gérer des sessions ActivitySession, tenez compte des points traités dans la rubrique Contextes ActivitySession et contextes de transaction.
Pour écrire le code nécessaire à un bean EJB de session ou à un client d'application d'entreprise afin de gérer une session ActivitySession, procédez comme suit en vous basant sur l'extrait de code fourni à titre d'exemple :
Procédure
Exemple
// Obtention du contexte initial
InitialContext ic = new InitialContext();
// Recherche d'UserActivitySession
UserActivitySession uas = (UserActivitySession)ic.lookup("java:comp/websphere/UserActivitySession");
// Définition d'un délai d'attente de 60 secondes pour ActivitySession
uas.setSessionTimeout(60);
// Lancement d'un nouveau contexte ActivitySession
uas.beginSession();
// Réalisation de travail dans ce contexte
MyBeanA beanA.doSomething();
...
MyBeanB beanB.doSomethingElse();
// Fin du contexte
uas.endSession(EndModeCheckpoint);