Async Before / After dans Camunda — Pourquoi Votre Processus Se Bloque

 Un problème très fréquent en production Camunda:

« Mon processus se bloque… mais aucune erreur n’apparaît »

La cause principale :
le processus s’exécute dans une seule transaction base de données.

Camunda exécute plusieurs étapes BPMN dans la même transaction tant qu’on ne définit pas de frontière transactionnelle.

Donc si une étape bloque → tout le processus bloque.

La solution: Async Before / Async After


Qu’est-ce que Async dans Camunda?

Async crée une frontière de transaction.

Au lieu d’exécuter :

Tâche A → Tâche B → Tâche C

Camunda sauvegarde l’état puis continue via le Job Executor.


Sans Async (Transaction Unique)

Problème

Si la tâche B dure 20 secondes :

  • verrou base de données maintenu

  • interface bloquée

  • autres instances bloquées

  • deadlock possible


Async Before

Crée un point de reprise avant l’exécution

Utilisation

  • appel API externe

  • logique lente

  • réseau


Async After

Crée un point de reprise après l’exécution

Utilisation

  • avant gateway

  • flux parallèles

  • éviter optimistic locking


Scénario Critique Production

Sans async :
Service Task → Gateway

Le gateway s’évalue dans la même transaction → optimistic locking

Avec async after :
nouvelle transaction → stable


Où Async est Obligatoire

ÉlémentAsync
API externeBefore
Gateway parallèleAfter
User TaskAfter
External TaskBefore
Java Delegate longBefore

Erreur Courante

Ajouter async seulement au début du process.

Cela ne protège pas les tâches internes.

Async doit être placé aux points de risque.


Règle d’Architecture

Tout appel distant = Async Before
Tout gateway parallèle = Async After

Astuce Debug

Si processus bloqué + CPU DB élevé → frontière async manquante.


📚 Lectures recommandées

Pour améliorer la stabilité Camunda:

👉 https://shikhanirankari.blogspot.com/search/label/French

Lire notamment :

Ces sujets sont directement liés aux transactions.


Conseil Final

BPMN est rapide
Les transactions sont lentes

Les frontières async protègent votre moteur.


💼 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     

Comments

Popular posts from this blog

OOPs Concepts in Java | English | Object Oriented Programming Explained

Scopes of Signal in jBPM

jBPM Installation Guide: Step by Step Setup