Skip to Content

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-VariableDefaultBeschreibung
MQTT_CONNECTION_STRINGString, Pflicht. MQTT-Verbindungsstring, z.B. mqtt://user:pass@host:1883

Verwendung

docker-compose.yml
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.