jBPM Workflow Tutorial: 📢 Signals in Business Processes
🚀 Introduction
In jBPM, 📢 Signals are used to communicate across processes.
They allow one process instance to broadcast an event that other processes (or nodes within the same process) can listen to and react upon.
Signals are useful for:
-
🔔 Triggering one process from another
-
⏸️ Interrupting a process flow when an event happens
-
🔄 Synchronizing multiple running processes
Unlike messages, which are point-to-point, signals are broadcast — meaning all listeners waiting for that signal will react.
🛠️ Prerequisites
-
💻 jBPM/Business Central & KIE Server installed
-
☕ JDK 11+ (or JDK 17)
-
🌐 Access to:
http://localhost:8080/business-central
📝 Step 1: Create a Signal in Business Central
-
🔑 Open your project in Business Central
-
➕ Add a new process or open an existing one
-
Go to Process Properties → Global Definitions
-
Add a Signal definition (e.g.,
paymentSignal)
🎨 Step 2: Using Signal Events in a Process
There are three main ways to use signals:
-
📥 Intermediate Catch Event (waits for a signal)
-
Process pauses until it receives the specified signal
-
-
📤 Intermediate Throw Event (sends a signal)
-
Process broadcasts a signal to others
-
-
🛑 Boundary Signal Event (attached to a task)
-
Interrupts a task or subprocess when a signal is received
-
⚙️ Example: Payment Confirmation
Process 1: Payment Processor
-
🔵 Start → 💳 Human Task (“Process Payment”) → 📤 Throw Signal (
paymentSignal) → ✅ End
Process 2: Order Handler
-
🔵 Start → 📥 Catch Signal (
paymentSignal) → 🚚 Service Task (“Ship Order”) → ✅ End
👉 When Process 1 sends the signal, Process 2 automatically moves forward.
🔨 Step 3: Build and Deploy
-
💾 Save both processes
-
🛠️ Build & Install
-
📦 Deploy to KIE Server
▶️ Step 4: Run the Processes
-
Start Payment Processor process
-
Complete payment task → 📤 Signal is sent
-
Order Handler process (already waiting) catches the signal → proceeds to shipping
📌 Use Cases for Signals
-
🛒 E-commerce: Payment triggers shipment
-
📧 Notifications: Send alerts to multiple processes
-
🏭 Manufacturing: One machine’s completion signal starts another process
-
⏸️ Interruptions: Cancel tasks or subprocesses when a signal is received
👉 Watch jBPM Workflow Tutorial: 📢 Signals in Action better:
🛠️ Troubleshooting
-
❌ Signal not caught? → Check if signal name matches in throw and catch events
-
⚠️ Multiple listeners not responding? → Ensure processes are active and deployed
-
🔄 Process not interrupted? → Verify boundary signal event is attached properly
🎯 Conclusion
📢 Signals in jBPM provide a powerful way to create event-driven workflows.
They allow you to:
-
🔗 Connect multiple processes together
-
⏸️ Interrupt running processes when needed
-
🔄 Synchronize business events across systems
By mastering Signals, you can design loosely coupled, reactive processes that adapt dynamically to real-world events.
💼 Professional Support Available
If you are facing issues in real projects related to enterprise backend development or workflow automation, I provide paid consulting, production debugging, project support, and focused trainings.
Technologies covered include Java, Spring Boot, PL/SQL, Azure, and workflow automation (jBPM, Camunda BPM, RHPAM).
📧 Contact: ishikhanirankari@gmail.com | info@realtechnologiesindia.com
🌐 Website: IT Trainings | Digital metal podium
Comments
Post a Comment