Я использую связыватель кролика весеннего облачного потока с функцией весеннего облака и определяю таких слушателей, как:
public Function<Flux<SomeObject>, Flux<OtherObject>> foo() {
//some code
}
Я также перенаправляю неудавшиеся сообщения в DLQ. Проблема в том, что происходит фатальная ошибка типа org.springframework.messaging.converter.MessageConversionException
. Он не обрабатывается ConditionalRejectingErrorHandler
, как указано в https://docs.spring.io/spring-amqp/reference/html/#exception-handling, и продолжает циклически повторяться.
Есть ли способ заставить это работать с ConditionalRejectingErrorHandler
?
Сейчас я исправляю проблему, используя @ServiceActivator(inputChannel = "errorChannel")
и сам исправляю ошибки.
Зависимости:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot.experimental</groupId>
<artifactId>spring-boot-starter-data-r2dbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-hateoas</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
</dependency>
</dependencies>