2017-02-02 3 views
0

Wie kann ich den Fehlerkanal einer Anwendung definieren oder programmieren, der alle Meldungen empfängt, die in Prozessoren/Senken fehlgeschlagen sind?Spring Cloud Data Flow programmierbare Anwendung Fehlerkanal

Die Dokumentation sagt der folgende:

Wenn die Anzahl der Wiederholungsversuche den maxAttempts Wert überschritten hat, wird die Ausnahme und die fehlgeschlagene Nachricht wird die Nutzlast einer Nachricht werden und an den Fehlerkanal der Anwendung gesendet werden. Standardmäßig protokolliert der standardmäßige Nachrichtenhandler für diesen Fehlerkanal die Nachricht. Sie können das Standardverhalten in Ihrer Anwendung ändern, indem Sie einen eigenen Nachrichtenhandler erstellen, der den Fehlerkanal abonniert.

Nach dieser Dokumentation spricht über die Aktivierung von Dead-Letter-Warteschlangen in Ordnern. Wenn ich das richtig verstehe, bedeutet das ganze Konzept, dass ich meinen eigenen Handler schreiben kann, der die DLQ des Binders abonnieren und die Nachrichten empfangen wird.

Ich bin neugierig, wenn es möglich ist, einen separaten Stream zu definieren, der fehlgeschlagene Nachrichten erhalten wird, oder eine zusätzliche App zu schreiben, die diese fehlgeschlagenen Payloads erhalten und sie wie gewünscht verarbeiten, ohne die DLQ des Binders zu verwenden?

Antwort

0

Angenommen, Sie haben DLQ aktiviert und abhängig von der verwendeten Binderimplementierung müssen Sie möglicherweise eine separate Anwendung erstellen, um Nachrichten von DLQ zu verarbeiten und zu verarbeiten.

Die empfohlenen Ansätze für Kaninchen-Bindemittel, zum Beispiel, können in der docs gefunden werden.

+0

Sie sagen "Sie müssen möglicherweise erstellen ...". Gibt es andere Ansätze? –

+0

Falsche Wortwahl beim Zeigen auf das, was heute existiert. Mir sind keine anderen "Standard" -Ansätze bekannt. –

+0

Bekam es. Vielen Dank. –