我正在尝试使用OutboundSseEvent类在Java服务器中设置服务器发送的事件。我不确定为什么我的代码会不断抛出空指针异常。我正在使用这些教程作为参考。https://www.baeldung.com/java-ee-jax-rs-sse和https://www.programcreek.com/java-api-examples/index.php?api=javax.ws.rs.sse.OutboundSseEvent
@Path("ssetest")
public class SSETestService extends SecureService {
private Sse sse;
@GET
@Path("/test")
@Produces("text/event-stream")
public void SSETestService(@Context Sse sse, SseEventSink sseEventSink)
throws InterruptedException, IllegalArgumentException {
OutboundSseEvent stringEvent = sse.newEventBuilder()
.name("stringEvent")
.data("hello world").build();
sseEventSink.send(stringEvent);
}
}
感谢任何指针。
实例sse为空。对于像测试一样的石蕊,您可以打印sse进行查看。如果您使用的是Spring框架,则private Sse sse;
应该如下自动接线
@Autowired
private Sse sse;
我认为应该删除参数@Context Sse sse
,因为您已经在该类中定义了。