La JTA (Java Transaction API) offre le
support sous-jacent de J2EE pour les
transactions. Bien qu'une application
puisse appeler des méthodes JTA
directement, une application ITP
classique utilise le support EJB plus
commode pour les transactions déclaratives.
Toutes les formes d'EJB vous permettent
de spécifier déclarativement
(c'est-à -dire, à l'extérieur du
Transactions
code Java
d’EJB) deux choses : les niveaux d’isolation
des transactions et quand le
conteneur d’EJB doit commencer et
terminer les transactions. Pour cela,
vous allez indiquer le comportement
transactionnel des méthodes de chacun
des EJB. Le conteneur d’EJB fait les
appels JTA appropriés pour le compte
d’un EJB transactionnel, dispensant de
ce type de code applicatif. Certains
conteneurs d’EJB, dont WAS, offrent
aussi des options supplémentaires à
l’appui des transactions, comme le
support intégré pour une simultanéité
de base de données « optimiste » avec
les EJB d’entité. De la sorte, les EJB
constituent le moyen le plus simple et
le plus fonctionnel de mise en oeuvre
des transactions ITP. Le moyen le plus
simple de mettre en oeuvre des transactions
pour une application ITP
consiste à spécifier, pour une ou plusieurs
méthodes du stateful session
EJB principal, qu’une nouvelle transaction
a commencé quand la méthode
est appelée, et que la transaction est
engagée ou annulée quand la méthode
revient. Par exemple, un servlet frontal
d’application ou un code d’aide pourrait
appliquer la séquence suivante
d’appels de méthode au stateful session
EJB principal d’une application de
saisie de commandes :
curOrder.setCustomerName( customerName ); ... curOrder.addItem( itemId, qty ); curOrder.addItem( itemId, qty ); ... curOrder.commitOrder();
Les méthodes setXxxx et addXxxx
sont spécifiées comme non transactionnelles,
c’est-à -dire qu’elles ne
constituent ni le début ni la fin d’une
transaction. Chacune de ces méthodes
(dans cet exemple) change simplement
la valeur de variables de programme
dans le stateful session EJB. La
méthode commitOrder est déclarée
comme démarrant une transaction
quand elle est appelée et comme engageant
la transaction quand elle revient.
Le conteneur d’EJB procède aux appels
de méthodes JTA nécessaires pour
le compte du session EJB, de sorte que
le programmeur n’a pas besoin d’inclure
le moindre code d’implémentation.
Dans une application ITP classique,
les méthodes du stateful session
EJB (commitOrder dans l’exemple précédent)
appellent les méthodes de
divers EJB CMP pour mettre à jour les
tables de base de données. Les
méthodes EJB CMP appropriées sont
déclarées pour participer dans une
transaction existante que l’appelant a
commencée. Dans ce mécanisme, les
mises à jour de la base de données des EJB se produisent dans les transactions définies par le stateful
session EJB principal de l’application.
Important : alors que les transactions sont souvent vues
sous l’angle des mises à jour de la base de données, elles peuvent
aussi couvrir d’autres types d’actions (comme envoyer
des messages). Le support de transactions EJB est conçu
pour ce domaine plus large également. A noter qu’on peut
aussi utiliser le support de transactions déclaratives avec un
stateful session EJB qui emploie JDO au lieu de EJB pour
l’accès à la base de données.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Souveraineté des données : bâtir un stockage hybride adapté à l’ère de l’IA
- Secteur public : l’IA accélère la modernisation des infrastructures
- De l’inventaire à l’action : l’Asset Management au service d’un Numérique plus responsable
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
