Apache Kafka-Trigger
Reagiert auf Veränderung der projektierten Topics. Gibt den Payload sowie den Key zurück. In der Eigenschaftsmaske können Sie die Anbindungs-Parameter für Ihre Apache Kafka-Abfrage festlegen:
 (2)-6b92b6ccfbd07f755aa8ed0f6f941b99.png)
Folgende Eigenschaften können konfiguriert werden:
| Broker | Wählen Sie eine konfigurierte Brokeranbindung aus dem Drop-down-Menü aus. |
|---|---|
| Topic | Angabe des Topic von dem gelesen werden soll. |
| Auf Transfer warten | Auswählen, ob und in welcher Form auf den Transfer gewartet werden soll. |
| Trigger bei Dienststart | Aktivieren Sie diese Option, wenn bei Start des OPC Router getriggert werden soll |
Zusammenspiel mit dem Broker
Wie diese Darstellung zu lesen ist, erklärt der Abschnitt Sequenzdiagramme.
Der Apache Kafka-Trigger ist ein normaler Mitglied-Consumer einer Kafka-Consumer-Gruppe; das automatische Bestätigen der Leseposition ist abgeschaltet, der OPC Router bestätigt den Offset also selbst. Wichtig für das Verständnis der Option „Auf Transfer warten“: Es wartet kein Thread auf den Flow - der Trigger startet den Transfer und kehrt sofort zurück. Die Option verschiebt ausschließlich den Zeitpunkt, zu dem der Offset bestätigt (Commit) und der Consumer fortgesetzt wird. Nach jeder gelesenen Nachricht pausiert der Consumer; steht die Option auf „ein“, bleibt er bis zum Vorliegen des Transferergebnisses pausiert, sodass die Nachrichten eines Topics streng nacheinander verarbeitet werden.
Der Schalter ist dreiwertig. „Standard“ übernimmt die Einstellung der Anbindung, „Aktiv“ und „Inaktiv“ überstimmen sie für diesen einen Trigger. Die beiden Diagramme zeigen das Ergebnis der Auflösung, nicht die Stellung des Schalters.
Warte auf Transfer: aus
Mit ausgeschalteter Option bestätigt der Trigger den Offset unmittelbar nach dem erfolgreichen Transferstart und setzt den Consumer sofort fort. Es wartet dabei kein Thread auf den Flow: der Trigger startet den Transfer und arbeitet sofort weiter. Die nächste Nachricht kann also bereits verarbeitet werden, während der vorige Flow noch läuft; das später eintreffende Transferergebnis wird nicht mehr ausgewertet und bleibt folgenlos. Nur ein abgelehnter Transferstart führt zum Seek auf den vorherigen Offset; die Nachricht wird dann erneut zugestellt.
Warte auf Transfer: ein
Mit eingeschalteter Option unterbleiben Commit und Fortsetzen zunächst; der Consumer bleibt pausiert, bis der Flow sein Ergebnis meldet. Ein erfolgreiches Ergebnis führt zu Offset-Commit und Fortsetzen, ein Abbruch oder Fehler zu einem Seek auf den vorherigen Offset - dieselbe Nachricht wird dann vom Broker erneut zugestellt, und zwar unbegrenzt oft, solange der Flow scheitert. Dieses erneute Zustellen ist Kafka-Protokollverhalten und keine Wiederholung des OPC Routers. Ein abgelehnter Transferstart wird wie im ersten Diagramm durch Seek zurückgenommen.
Der Unterschied liegt allein in der Position von Offset-Commit und Fortsetzen des Consumers gegenüber dem Transfer: im ersten Bild sofort nach dem Start, im zweiten erst nach dem Transferergebnis.