我正在使用Java 13的Horsham SR1版本中使用spring-cloud-stream
,我正在使用Google Pub / Sub作为基础消息系统。
我有一个反应式Function
,看起来像这样:
@Bean
public Function<Flux<Message>, Mono<Void>> messageConsumer() {
return messageFlux ->
messageFlux
.flatMap(message -> {
// do something
return something;
})
.doOnError(throwable -> log.error("could not process message", throwable))
.then();
}
我如何让Spring来not确认一条错误消息?在flatMap
方法内引发异常是否足够?
[您必须了解,每种方法都有优点和缺点,而对于被动方法,我们无视此流。它完全在您的控制之下。实际上,主要区别之一是上述函数仅被调用一次,如果它是命令性函数,则它将在每条消息上被调用。
基本上对于反应式用户而言,有效地将操作单位声明为整个流(无论在您的应用程序上下文中可能意味着什么)。势在必行,操作单元是一条消息,因此我们可以执行按消息发送的小礼物,小礼物等。