【发布时间】:2017-11-20 21:58:51
【问题描述】:
我尝试在 Jetty 9.4.7 上测试服务器端事件 (SSE),但它不起作用(但适用于 GlassFish 5)。这是我的代码:
@Path("sse")
public class SseResource {
@GET
@Produces(MediaType.SERVER_SENT_EVENTS)
@Path("time")
public void currentTime(@Context SseEventSink eventSink, @Context Sse sse) {
new Thread(() -> {
OutboundSseEvent event = sse.newEventBuilder().name("current-time")
.data(String.class, LocalTime.now().toString()).build();
eventSink.send(event);
}).start();
}
}
当我尝试调用我的端点 /sse/time 时,我得到 404 异常:
javax.ws.rs.NotFoundException: 未找到 HTTP 404 在 org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:274) [jersey-server-2.26.jar:?] 在 org.glassfish.jersey.internal.Errors$1.call(Errors.java:272) [jersey-common-2.26.jar:?] 在 org.glassfish.jersey.internal.Errors$1.call(Errors.java:268) [jersey-common-2.26.jar:?] 在 org.glassfish.jersey.internal.Errors.process(Errors.java:316) [jersey-common-2.26.jar:?] 在 org.glassfish.jersey.internal.Errors.process(Errors.java:298) [jersey-common-2.26.jar:?]
请指教。
【问题讨论】:
标签: jersey-2.0 jetty-9