@Singleton @Path("broadcast") public class UserCreatedEventsResource {
private Sse sse;
private SseBroadcaster broadcaster;
@Inject
public UserCreatedEventsResource(@Context final Sse sse) {
this.sse = sse;
this.broadcaster = sse.newBroadcaster();
}
@POST
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.TEXT_PLAIN)
public String broadcastMessage(String message) {
final OutboundSseEvent event = sse.newEventBuilder()
.name("message")
.mediaType(MediaType.TEXT_PLAIN_TYPE)
.data(String.class, message)
.build();
broadcaster.broadcast(event);
return "Message '" + message + "' has been broadcast.";
}
@GET
@Produces(MediaType.SERVER_SENT_EVENTS)
public void listenToBroadcast(@Context SseEventSink eventSink) {
this.broadcaster.register(eventSink);
} }
我有一个nullpointer异常,但在用maven重新导入projekt后,它消失了。
我想我曾经做过一次重建,但它没有用,现在我再做一次,工作正常。