Server Sent Events代码遇NullPointerException,重新导入Maven项目后恢复
分享:解决SSE广播资源类的NullPointerException问题
下面是我实现的一个基于JAX-RS的SSE广播资源类,用于处理消息推送功能:
@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); } }
在运行这个类的过程中,我遇到了NullPointerException异常。一开始尝试重建项目,但问题并没有得到解决。不过后来我通过Maven重新导入整个项目后,这个异常居然消失了,项目也恢复了正常运行。
内容的提问来源于stack exchange,提问作者oneoe
相关产品推荐
相关产品推荐

