2016-07-29 25 views
2

Nehmen Sie zum Beispiel das folgende Szenario: Ich teile eine Nachricht über einen Iterator. Wenn beim Iterieren über ein Element eine Exception in eine .handle() geworfen wird, werden alle verbleibenden Elemente übersprungen und die nächste Nachricht erhalten. Ich muss mögliche Ausnahmen unterdrücken, damit alle Elemente im Iterator verarbeitet werden.Spring Integration Unterdrücken von Ausnahmen beim Teilen über Iterator

Da ich Iterator anstelle von List verwende, kann ich dies beispielsweise nicht mit .aggregate() lösen.

Bitte, wie bekomme ich das gewünschte Verhalten?

  • Frühlings-Boot-Starter Integration 1.3.0
  • Frühling Integration 4.2.1
  • Java DSL 1.1.1

Vielen Dank im Voraus!

Antwort

2

Platzieren Sie einfach .channel(c -> c.executor(...)) nach .split().

In diesem Fall werden alle Ihre Nachrichten parallel verarbeitet (mindestens) und alle nachfolgenden Fehler werden in ErrorMessage verpackt und an die errorChannel (standardmäßig) gesendet.