-
BMT vs CMT ?
Bonjour,
Est-ce que quelqu'un pourrait m'expliquer concrètement la différence entre BMT (Bean-Managed-Transaction) et CMT (Container-Managed-Transaction) ?
Je sais juste qu'avec les BMT il faut gérer soi-même les commit et rollback alors que les CMT gère les "undo". Mais ça ne m'inspire pas beaucoup :(
Merci!
-
Je ne voudrais pas etre derangeant mais tu ne parlerai pas plutot de BMP (Bean Management Persistance) et CMP ( Container Management Persistance)
Si c ca, ca veux dire que dans le cas des BMP c'est le developpeur qui gere le cycle de vie de ton bean au niveau du bean lui mm, dans le cas des CMP tu laisse le container d'EJB gerer lui mm le cycle de vie du bean
mais si c pas ce que tu voulais savoir ... fodrait preciser un petit peu plus
-
Je pense qu'il parle bien de CMT et BMT.
La différence entre les BMT et les CMT est qu'avec les BMT tu es obligé de faire un lookup (java:comp/UserTransaction) pour récupérer une transaction et après tu doit te charger de faire un begin, commit et rollback ...
Avec les CMT, pas besoin de code en plus, il suffit de préciser le comportement transactionnel (required, requiresNew, mandatory, ...) attendu pour tes méthodes au niveau de l'ejb-jar.xml.
Ensuite tu n'as plus qu'à gérer les rollback avec la méthode ejbcontext.setRollbackOnly();
A savoir, une EJBException fait automatiquement un rollback, mais ce n'est pas le cas pour une exception applicative.
Perso je préfère utiliser les CMT :)
-
Merci beaucoup :)
C'est exactement ce que je ne comprenais pas ! Ca reste un peu flou pour moi encore car je n'ai pas encore trop exercé mais là, j'ai tout ce dont j'ai besoin :wink:
@bientôt !