Backoff -Backoff -Backoff basiert auf Ausnahme, die im Batch -Verbraucher geworfen werdenJava

Java-Forum
Anonymous
 Backoff -Backoff -Backoff basiert auf Ausnahme, die im Batch -Verbraucher geworfen werden

Post by Anonymous »

Was ich versuche zu implementieren: < /strong> < /p>
Ich möchte eine benutzerdefinierte Backoff -Strategie implementieren, basierend auf der Ausnahme, die in einem Batch -Verbraucher ausgelöst wird. Infinetely.

[*] Wenn eine limitedReyableException ausgeworfen wird, möchte ich maximal 5 Mal wiederholen. {...}) , wie in der Spring Kafka-Dokumentation erläutert. Bei Verwendung eines Batch -Listeners scheint er jedoch ignoriert zu werden und wendet den benutzerdefinierten Wiederholungsbackoff basierend auf der ausgeworfenen Ausnahme nicht an. Stattdessen wendet es die Standardkonfiguration für alle Ausnahmen an (maximal 10 Wiederholungen). < /P>
Die Konfiguration, die ich ausprobiert habe, lautet wie folgt:

Code: Select all

DefaultErrorHandler handler = new DefaultErrorHandler();
handler.setBackOffFunction((record, exception) -> {

if (exception instanceof InfiniteRetryableException) {
return new FixedBackOff(1000L, FixedBackOff.UNLIMITED_ATTEMPTS);
}
else if (exception instanceof LimitedRetryableException) {
return new FixedBackOff(1000L, 5L);
}

return null;

});
Fragen: [/b]

Werden kundenspezifische Wiederholungsböden auf den Ausnahmen basieren, die für Batch -Hörer unterstützt werden? /> Lösung: < /strong> < /p>

Nach weiteren Untersuchungen habe ich festgestellt, dass das Problem bei der Verwendung von Ausnahmen auftritt, die BatchListenerFailedException nicht erweitern, die speziell für die Wiederholung des gesamten Stapels ausgelegt ist. Sobald ich die beiden benutzerdefinierten Ausnahmen von BatchListenerFailedException aktualisiert habe, begann alles wie erwartet zu funktionieren.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post