Transactions JAVA / LDAP / RDBMS
Bonjour,
Savez-vous s'il existe un moyen d'utiliser une transaction entre du Oracle ou MySqL & un annuaire type OpenLDAP ? En effet, j'ai un processus dans lequels je dois enregistrer des infos sur DB1 puis un annuaire LDAP puis une DB2. Donc, si la mise à jour du LDAP échoue, DB1 doit être rollbacké. Et si la mise à jour DB2 échoue, l'update LDAP doit être rollbacké.
Le commit devrait être fait uniquement si l'update DB1, LDAP & DB2 sont OK. On se trouve donc devant quelque chose qui ressemble vraiement à de ma transaction 2PC.
Cependant, les transactions sont supportés seulement sur des RDBMS ou des queues JMS. Les annuaires LDAP ne supportent pas les transactions.
J'ai regardé sur les forums, mais n'ai trouvé aucunes solutions. Après exament du bridge JDBC / OpenLDAP, on se rend compte qu'il n'y a pas de support des transactions (La connexion retournée par l'API wrap une connexion JLDAP qui enrobe elle même une connexion OpenLDAP).
Une autre idée est de créer une XAResource à la main, mais ça semble assez tendu à faire.
Quelqu'un s'est il déjà frotté à cette problématique ?
Merci d'avance,
mondes_engloutis.
Re : LDAP / RDBMS / Transaction
Merci de ta réponse. Cependant le fait est que LDAP ne supporte pas les transactions. Or si tu veux l'inclure dans une transaction JTA il est nécessaire que nativement les transactions puissent être supporté sur le système. Ce qui n'est pas le cas de LDAP. Maintenant peut être qu'avec Spring à l'aide des interceptor on puisse intercepter les données à mettre à jour et les stocker qque part afin de permettre un rollback du LDAP si nécessaire. Je vais regarder de côté.
Si vous avez des pointeurs vers la gestion de transaction sous Spring (autre que le tutoriel précédent) n'hésitez pas.
Merci d'avance.
mondes_engloutis.