project-reactor相关内容

如何重试Spring WebClient根据响应重试操作?

我一直在学习spring webflux,并被困在其中. 我已经使用WebClient从Spring应用程序请求了REST API.我想根据响应重试该请求.可以说,如果响应的属性为status: 'not-ready',那么我需要一秒钟后重试相同的操作. 我尝试了以下方法,但不确定如何实现 public Flux makeHttpRequest(int page) { ..
发布时间:2020-05-17 03:12:00 Java开发

什么样的"EventBus"?在春季使用?内置反应堆,Akka?

我们将在几周内启动一个新的Spring 4应用程序.而且我们想使用一些事件驱动的体系结构.今年,我到处都读到有关“反应堆"的信息,在网上寻找它时,偶然发现了"Akka". 因此,到目前为止,我们有3种选择: Spring的ApplicationEvent: Reactor: https://github.com/reactor/reactor#reactor Akka: http:/ ..

从Mono列表中创建助焊剂的正确方法

让我们说我有一个使用CustomObjects列表的API操作.对于这些对象中的每个对象,它调用一个服务方法来创建一个Mono.如何以惯用的,因此无阻塞的方式从那些Mono对象创建助焊剂? 我现在想出的是这个.我更改了方法名称以更好地反映其预期目的. fun myApiMethod(@RequestBody customObjs: List): Flux ..
发布时间:2020-04-26 12:49:37 其他开发

Kotlin实现多线程请求套期?

Spring的反应堆具有一个有趣的功能:对冲.这意味着产生许多请求并获得第一个返回的结果,并自动清除其他上下文. Josh Long 最近一直在积极推广此功能.谷歌搜索此处是示例代码.简而言之,Flux.first()简化了所有底层的麻烦,这令人印象深刻. 我想知道如何使用Kotlin的协程和多线程(以及也许使用Flow或Channel)实现这一点.我想到了一个简单的场景:一个服务接受lon ..

在通量上同时使用publishOn和subscribeOn不会导致任何事情发生

无论何时我同时使用subscribeOn和publishOn,都不会打印任何内容. 如果我只使用一个,它将打印. 如果我使用subscriptionOn(Schedulers.immediate())或弹性的,它的工作原理. 有什么想法吗? 据我了解,publishOn会影响它发布的线程,并影响订阅者运行的线程.你能指出我正确的方向吗? fun test() { val ..
发布时间:2020-04-26 12:18:00 其他开发

如何检查Mono是否为空?

我正在使用WebFlux框架使用Spring Boot 2.0和Kotlin开发应用程序. 我想在保存事务之前检查用户ID是否退出.我陷入了一个简单的问题,例如验证Mono是否为空. fun createTransaction(serverRequest: ServerRequest) : Mono { val transaction = ser ..
发布时间:2020-04-26 12:12:50 其他开发

当时无法订阅

当我使用Mono.thenMany时,通量数据丢失了,为什么? @Test fun thenManyLostFluxDataTest() { Mono.empty() .thenMany { Flux.fromIterable(listOf(1, 2)) } .subscribe { println(it) } // why not output it ..
发布时间:2020-04-26 12:10:16 其他开发

如何限制活动的Spring WebClient调用的数量

我有一个要求,我使用Spring Batch从SQL DB中读取一堆行(数千),并在写入Kafka主题之前调用REST服务来丰富内容。 使用Spring Reactive webClient时,如何限制活动非阻塞服务调用的数量?在使用Spring Batch读取数据后,我是否应该以某种方式在循环中引入Flux? (我理解delayElements的用法,它用于不同的目的,就像单个获取服 ..
发布时间:2019-01-10 13:34:41 Java开发