project-reactor相关内容
我一直在学习spring webflux,并被困在其中. 我已经使用WebClient从Spring应用程序请求了REST API.我想根据响应重试该请求.可以说,如果响应的属性为status: 'not-ready',那么我需要一秒钟后重试相同的操作. 我尝试了以下方法,但不确定如何实现 public Flux makeHttpRequest(int page) {
..
我无法使Actuator与Spring Boot v2.0.0.M2和Netty一起使用. build.gradle中使用了以下依赖项: compile "org.springframework.boot:spring-boot-starter-actuator" compile "org.springframework.boot:spring-boot-starter-da
..
我为RSocket消息编写了一个演示 问题是我无法访问Rsocket端点, 我从服务器收到以下异常: 客户端: 配置: @Bean RSocket rSocket() { return RSocketFactory.connect() .mimeType(MimeTypeUtils.APPLICATION_JSON_VALUE, MimeTypeU
..
我试过先在Flux range上接着在subscribeOn上运行flatMap,似乎所有操作都在同一线程上运行.这正常吗? Flux.range(0, 1000000).log().flatMap{ it + 1 }.subscribeOn(Schedulers.parallel()).subscribe() 解决方案 您可以创建 ParallelFlux 如下: Flux.r
..
我正在研究Flux和Mono,并在多线程环境中使用它们,并使用提供工作线程的Schedular. 有许多选项可以使用elastic,parallel和newElastic启动Schedular. 这是我使用的代码: System.out.println("------ elastic --------- "); Flux.range(1, 10) .
..
我们将在几周内启动一个新的Spring 4应用程序.而且我们想使用一些事件驱动的体系结构.今年,我到处都读到有关“反应堆"的信息,在网上寻找它时,偶然发现了"Akka". 因此,到目前为止,我们有3种选择: Spring的ApplicationEvent: Reactor: https://github.com/reactor/reactor#reactor Akka: http:/
..
我正在尝试使用Spring Boot中的MongoDB反应性模板以反应性方式获取UpdateResult. 问题在于更新部分将不会执行,因为我没有订阅它,但是我真的不知道如何执行2个操作并使用反应性范式返回一个值. 这是我正在尝试的: @GetMapping("\update") public Mono updateTask(@RequestParam
..
我有一个MovieRepository,它扩展了ReactiveMongoRepository.我想以反应方式保存一个POJO.但是ReactiveMongoRepository不提供Mono或Publisher的保存方法.我必须在ReactiveMongoRepository中使用block()方法或使用saveAll方法. public Mono crea
..
给出以下代码 public static void main(String[] args) { long start = System.currentTimeMillis(); Flux.generate(s -> s.next(System.currentTimeMillis() - start)) .flatMap(DemoApp:
..
下面的Kotlin代码成功连接到Spring WebFlux服务器,发送一条消息并打印通过返回的流发送的每条消息. fun main(args: Array) { val uri = URI("ws://localhost:8080/myservice") val client = ReactorNettyWebSocketClient() val
..
让我们说我有一个使用CustomObjects列表的API操作.对于这些对象中的每个对象,它调用一个服务方法来创建一个Mono.如何以惯用的,因此无阻塞的方式从那些Mono对象创建助焊剂? 我现在想出的是这个.我更改了方法名称以更好地反映其预期目的. fun myApiMethod(@RequestBody customObjs: List): Flux
..
Spring的反应堆具有一个有趣的功能:对冲.这意味着产生许多请求并获得第一个返回的结果,并自动清除其他上下文. Josh Long 最近一直在积极推广此功能.谷歌搜索此处是示例代码.简而言之,Flux.first()简化了所有底层的麻烦,这令人印象深刻. 我想知道如何使用Kotlin的协程和多线程(以及也许使用Flow或Channel)实现这一点.我想到了一个简单的场景:一个服务接受lon
..
鉴于我的Flux大小未知,如何将其转换为其他库期望的InputStream? 例如,使用WebClient,我可以使用这种方法来实现 WebClient.get('example.com').exchange.flatMap { it.bodyToMono(InputStreamResource::class.java) }.map { it.inputStream }
..
无论何时我同时使用subscribeOn和publishOn,都不会打印任何内容. 如果我只使用一个,它将打印. 如果我使用subscriptionOn(Schedulers.immediate())或弹性的,它的工作原理. 有什么想法吗? 据我了解,publishOn会影响它发布的线程,并影响订阅者运行的线程.你能指出我正确的方向吗? fun test() { val
..
我具有以下简化的处理程序功能(Spring WebFlux和使用Kotlin的功能性API).但是,我需要一个提示,当通量为空时,如何检测空的通量,然后对404使用noContent(). fun findByLastname(request: ServerRequest): Mono { val lastnameOpt = request.query
..
我正在使用WebFlux框架使用Spring Boot 2.0和Kotlin开发应用程序. 我想在保存事务之前检查用户ID是否退出.我陷入了一个简单的问题,例如验证Mono是否为空. fun createTransaction(serverRequest: ServerRequest) : Mono { val transaction = ser
..
当我使用Mono.thenMany时,通量数据丢失了,为什么? @Test fun thenManyLostFluxDataTest() { Mono.empty() .thenMany { Flux.fromIterable(listOf(1, 2)) } .subscribe { println(it) } // why not output it
..
如何将Flux直接转换为Mono>? 我正在从RxJava中寻找Single> single = observable.toList()的等同物. 使用阻塞运算符,我可以这样: val just: Mono> = Mono.just(flux.toIterable().t
..
我想在带有Kotlin的Spring WebFlux上的REST API中集中记录请求和响应.到目前为止,我已经尝试过这种方法 @Bean fun apiRouter() = router { (accept(MediaType.APPLICATION_JSON) and "/api").nest { "/user".nest { GET("/
..
我有一个要求,我使用Spring Batch从SQL DB中读取一堆行(数千),并在写入Kafka主题之前调用REST服务来丰富内容。 使用Spring Reactive webClient时,如何限制活动非阻塞服务调用的数量?在使用Spring Batch读取数据后,我是否应该以某种方式在循环中引入Flux? (我理解delayElements的用法,它用于不同的目的,就像单个获取服
..