如何在Quarkus中设置服务器发送事件(SSE)的事件名称。

我有下面的Quarkus资源,这将产生没有事件名称而只有数据部分的事件。

@Path("/myResource")
class MyResource {
    @GET
    @Path("/eventStream")
    @Produces(MediaType.SERVER_SENT_EVENTS)
    @SseElementType(MediaType.APPLICATION_JSON)
    fun stream(): Multi<MyDto> = deviceStatusService.getStream()
}

这将产生没有事件名称的事件,只有数据部分。我如何指定事件名称?

解决方案:

我的最终代码是现在。

    @GET
    @Path("/eventStream")
    @Produces(MediaType.SERVER_SENT_EVENTS)
    @SseElementType(MediaType.APPLICATION_JSON)
    fun stream(@Context sse: Sse, @Context sseEventSink: SseEventSink) {
        deviceStatusService.getStream().subscribe().with { deviceStatus ->
            sseEventSink.send(sse.newEventBuilder()
                        .name("deviceStatus")
                        .data(deviceStatus)
                        .build())
        }
    }

给TA打赏
共{{data.count}}人
人已打赏
未分类

在安卓系统中使用HintRequest获取手机号码时,如何获取没有国家代码的手机号码?

2022-9-9 9:32:20

未分类

比较两个文件,打印出与单词相匹配的行。

2022-9-9 9:32:22

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索