MQTT-Messagebus
Die MQTT-Extension (@5minds/processcube_engine_mqtt_extension) bindet einen
MQTT-Broker (Protokoll v5) als Transportschicht für Engine-Signale und
-Nachrichten an. Damit lassen sich BPMN-Signal- und -Message-Events über MQTT
zwischen Engine-Instanzen und externen Systemen austauschen.
Architektur
Die Extension registriert sich über den onLoad-Hook und nutzt die
Engine-Lifecycle-Hooks onBeforeResuming (Throw-Events) und onReady
(Catch-Events). Ein MqttAdapter implementiert das IMessageBusAdapter-Interface
(siehe Messagebus-SDK) und überträgt
Nachrichten als JSON über MQTT-Topics; Engine-Metadaten (EngineId, CorrelationId)
werden als MQTT-User-Properties mitgegeben.
Einrichten
Die Extension ist im Engine-Image enthalten und wird automatisch aktiv, sobald
MQTT_CONNECTION_STRING gesetzt ist. Ohne diese Variable bleibt sie inaktiv.
Konfiguration
| Env-Variable | Default | Beschreibung |
|---|---|---|
MQTT_CONNECTION_STRING | — | String, Pflicht. MQTT-Verbindungsstring, z.B. mqtt://user:pass@host:1883 |
Verwendung
services:
engine:
image: marketplace.processcube.io/processcube-io/processcube_engine:latest
environment:
- MQTT_CONNECTION_STRING=mqtt://guest:guest@mosquitto:1883
mosquitto:
image: eclipse-mosquitto:2
ports:
- "1883:1883"Die Extension nutzt MQTT v5. Stelle sicher, dass der Broker (z.B. Mosquitto ≥ 2, EMQX, HiveMQ) MQTT 5 unterstützt.