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:
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.
[b] 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]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;
}); [/code] Fragen: [/b] [u] 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 [url=viewtopic.php?t=20324]Problem[/url] 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. [/u]
Ich habe kürzlich begonnen, Phpstan (Version 0.12.19) für ein Symfony 3.4 -Projekt zu verwenden, aber ich erhalte einen Fehler, der so einfach zu lösen war, aber ich habe Schwierigkeiten,...
unten präsentiere ich die Richtlinie, die ich verwende, um eine Postasync () -Anforderung mit einem httpclient zu behandeln. Es scheint jedoch, als ob ich eine generische Ausnahme bestanden habe,...
Ich implementiere einen Cloud-Medienanbieter, indem ich den CloudMediagrovider von Android von Android subklassifiziere, um einen benutzerdefinierten Cloud-Speicher zu unterstützen (in meinem Fall...
Ich habe ein System, bei dem mehrere Verbraucher (z. B. Preisrechner) Prozessanforderungen basierend auf bestimmten Einschränkungen. Jeder Verbraucher hat unterschiedliche Anforderungen, was...