Tag not found!
因此,上面的代码是一种Spring MVC控制器方法,以1秒的间隔发出0〜10个数字。
这是我的客户代码。
@GetMapping("/test")
fun fluxTest(): Flux<Int> {
return Flux.create {em ->
Thread{
(0..10).forEach{
em.next(it)
Thread.sleep(1000)
}
em.complete()
}.run()
}
}
问题在于客户端程序一次打印0〜10,而不是每隔1秒一次打印一次。
因此,它不会一一打印服务器中的值,而是在流完成时打印整个接收到的值。
有人可以帮助我解决这个问题吗?
谢谢
答案 0 :(得分:2)
看起来您应该启用服务器发送的事件,简单的方法是将生产者添加到这样的枚举中:
@GetMapping(path = "/test", produces=MediaType.TEXT_EVENT_STREAM_VALUE)