【发布时间】:2018-05-28 15:04:45
【问题描述】:
我熟悉Spring Flux + SSE,尝试编写一些流数据的代码。
这里有两个问题:
- 当我在 Chrome 中发出请求时,它没有关闭连接
一段时间(加载圈正在旋转),但我正在使用常规
Flux.fromIterable在数组末尾发出完整的信号。 -
它会关闭一段时间(大约 1 分钟)。可能它在某个地方超时。只有在
OnComplete事件触发时才应关闭响应。@Controller("/") @Validated public class HelloController { @Produces(MediaType.TEXT_EVENT_STREAM) // add 'application/stream+json' @Get("/hello/{name}") public Flux<Hello> hello(@NotBlank String name) { List<Hello> list = new ArrayList<>(); list.add(new Hello("test1", 1)); list.add(new Hello("test2", 2)); return Flux.fromIterable(list).doOnComplete(() -> { System.out.println("response should be closed here!"); }); } }
-另外请添加对application/stream+json 内容类型的支持
-并通过 Flux 支持客户端的服务器端事件。
【问题讨论】:
标签: micronaut