Les Frontières de Transaction Camunda — Explication Visuelle
De nombreux incidents Camunda en production viennent d’un malentendu :
« Chaque tâche BPMN s’exécute séparément »
Faux.
Par défaut, Camunda exécute plusieurs étapes BPMN dans une seule transaction base de données.
Donc si une étape échoue → plusieurs étapes sont annulées.
Comprendre les transaction boundaries permet d’éviter :
processus bloqués
optimistic locking
exécutions en double
rollback inattendus
Qu’est-ce qu’une frontière de transaction ?
Une frontière de transaction est un point de sauvegarde dans la base.
Sans frontière → tout s’exécute ensemble
Avec frontière → reprise sécurisée
Exécution par défaut (sans frontière)
Camunda continue jusqu’à rencontrer un wait state.
Wait State
User Task
Receive Task
Timer
External Task
À ces points l’état est sauvegardé.
Problème — Effet Domino de Rollback
Service Task A → Service Task B → Service Task C
Si C échoue → A et B sont annulées aussi.
Conséquences :
appel API doublé
paiement en double
incohérence métier
Async Before crée une frontière
Seule l’étape échouée est rejouée.
Async After crée une frontière après exécution
Utilisé avant gateways et parallélisme.
Problème Optimistic Locking
Deux exécutions modifient la même instance.
Sans frontière → boucle d’erreur
Avec async → retry propre
Comportement Interne
Execute → Flush DB → Commit → Continue
Async découpe en plusieurs commits.
Où placer les frontières
| Emplacement | Raison |
|---|---|
| Avant appel externe | éviter doublons |
| Avant gateway | éviter conflits |
| Gateway parallèle | sécurité concurrence |
| Tâche longue | éviter blocage |
Erreur fréquente
Ajouter async uniquement au début du process.
Cela ne protège pas les étapes internes.
Règle d’Architecture
Tout appel distant doit avoir une frontière transactionnelle.
📚 Lectures recommandées
Pour améliorer la fiabilité :
👉 https://shikhanirankari.blogspot.com/search/label/French
Lire particulièrement :
Conseil Final
BPMN gère le flux
Les transactions gèrent la sécurité
Bien placer les frontières rend votre processus robuste.
💼 Support professionnel disponible
Si vous rencontrez des problèmes sur des projets réels liés au développement backend d’entreprise ou à l’automatisation des workflows, je propose des services de conseil payants, de débogage en production, de support projet et de formations ciblées.
Les technologies couvertes incluent Java, Spring Boot, PL/SQL, Azure, CMS, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM, Flowable), DMN/Drools.
📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com
🌐 Website: IT Trainings | Digital lectern | Digital rostrum | Digital metal podium
Si vous rencontrez des problèmes sur des projets réels liés au développement backend d’entreprise ou à l’automatisation des workflows, je propose des services de conseil payants, de débogage en production, de support projet et de formations ciblées.
Les technologies couvertes incluent Java, Spring Boot, PL/SQL, Azure, CMS, ainsi que l’automatisation des workflows (jBPM, Camunda BPM, RHPAM, Flowable), DMN/Drools.
📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com
🌐 Website: IT Trainings | Digital lectern | Digital rostrum | Digital metal podium
Comments
Post a Comment