Remarques sur les tâches et les unités de travail

La fonction de profil d'application fonctionne dans le cadre du concept de l'unité de travail. Dans ce cas, une unité de travail désigne une transaction ou un service ActivitySession.

Le nom de la tâche sur une méthode sert uniquement lors du lancement d'une unité de travail, suite à l'appel de cette méthode. Le modèle d'accès aux données est ainsi plus facilement prévisible d'après l'unité de travail active. En particulier, cette approche permet de charger dans une unité de travail un type de bean configuré avec une seule tentative d'accès, car un bean est configuré avec une seule tentative d'accès dans un profil d'application. Cette tentative d'accès configurée pour un type de bean est déterminée lors de l'assemblage et elle est mise en application par le service de profil d'application.

Un nom de tâche est toujours associé à une unité de travail et ce nom de tâche reste inchangé durant la durée de vie de l'unité de travail. Lorsqu'une unité de travail associée à une méthode est lancée suite à l'appel de cette méthode, si un nom de tâche est associé à la méthode, alors ce nom de tâche est utilisé pour nommer l'unité de travail. Une tâche attribuée à une unité de travail est considérée comme une unité de travail nommée.

Si un nom de tâche n'est pas associé à la méthode qui a lancé l'unité de travail, alors une tentative d'accès par défaut est appliquée et l'unité de travail n'a pas de nom. Une unité de travail peut être nommée uniquement lorsqu'elle est lancée et ce nom de tâche est conservé durant toute la durée de vie de l'unité de travail. De plus, la tâche attribuée à une unité de travail ne peut jamais être modifiée durant la durée de vie de cette unité de travail. Tout nom de tâche associé à une méthode est ignoré si la méthode ne lance pas une unité de travail (gérée par le conteneur ou par le composant).

Il est impossible de modifier le nom de tâche attribué à une unité de travail. Cependant, il est possible que dans une séquence d'appels comportant un grand nombre d'appels d'application, un nom de tâche différent soit utilisé pour différents appels. Dans ce cas, il est important pour le déployeur de lancer une nouvelle unité de travail et de l'associer au nom de tâche requis. Par exemple, supposons que nous ayons les beans suivants : sb1 est un bean session, et eb2 et eb3 sont des beans entity CMP (Persistance gérée par conteneur). Si sb1 est appelé, une transaction est lancée et la tâche 't1' lui est associée. Supposons ensuite que sb1 appelle eb2 et eb3. Si eb2 ou eb3 crée une unité de travail, alors ces beans sont exécutés dans le contexte de l'unité de travail de sb1 et donc de son nom de tâche (t1). Si eb2 ou eb3 doit être exécuté dans un nom de tâche autre que t1, ces beans doivent définir une unité de travail et l'associer au nom de tâche approprié.

Notez que si un déployeur d'application ne configure pas de façon spécifique une transaction sur une méthode, WebSphere Application Server crée une transaction globale par défaut. Cela est important car si une tâche est définie sur une méthode, mais qu'une unité de travail n'est pas configurée de façon spécifique sur cette méthode, le conteneur EJB crée automatiquement une transaction globale pour le compte de cette méthode. Par conséquent, ce nom de tâche est associé à l'unité de travail et tout profil d'application mappé à cette tâche est utilisé.

Remarque : Si vous sélectionnez l'attribut de mode de compatibilité 5.x sur la page du service de profil d'application de la console, les tâches configurées sur les applications J2EE 1.3 ne sont pas systématiquement associées avec les unités de travail et peuvent être appliquées ou remplacées de façon arbitraire. Ce mode d'opération n'est pas recommandé et peut provoquer des blocages imprévus pendant l'accès à la base de données. Les tâches ne sont pas communiquées à la demande entre les applications exécutées sous le mode de compatibilité Application Profiling 5.x et les applications qui ne le sont pas.

Icône indiquant le type de rubrique Rubrique de concept



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