我有一个 Restful 服务,用户可以在其中获得新的 SSE 广播。代码如下所示:
SseBroadcaster sseBroadcaster = new SseBroadcaster();
@GET
@Produces(SseFeature.SERVER_SENT_EVENTS)
@Path("/getEvent")
public EventOutput getSseOutput(@Context HttpServletResponse response) {
EventOutput eventOutput = new EventOutput();
sseBroadcaster.add(eventOutput);
return eventOutput;
}
我想做的是,当一个新的 EventOutput 添加到广播者时,向该 EventOutput 发送一条欢迎消息。但是,已经收听广播的每个人也会收到消息。有人知道将事件发送到特定 EventOutput 的方法吗?
最佳答案
您调用 eventOutput.write(event);
,其中 event
是 OutboundEvent
的对象.
创建 OutboundEvent
似乎需要相当繁琐的构建器类。参见 the example在文档中。我相信这是发送欢迎消息的最少代码:
final OutboundEvent.Builder eventBuilder = new OutboundEvent.Builder();
eventBuilder.data(String.class, "Welcome!");
final OutboundEvent event = eventBuilder.build();
eventOutput.write(event);
关于java - 将 sse 广播与 Jersey 一起使用,无论如何将事件发送到特定的 EventOutput?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28993268/