Я пытаюсь настроить отправленные сервером события на Java-сервере с помощью класса OutboundSseEvent. Я не уверен, почему мой код продолжает выдавать исключение нулевого указателя. Я использую эти учебники в качестве ссылки. 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("ping")
.data("hello world").build();
sseEventSink.send(stringEvent);
}
}
На стороне клиента ...
testSSE() {
console.log("in testSSE()");
const evtSource = new EventSource(
"http://localhost:8081/api/ssetest/test"
);
evtSource.onmessage = function(event) {
console.log("received message");
console.log("event.data: " + event.data);
};
evtSource.addEventListener("ping", function(event) {
console.log("event.data: " + event.data);
console.log("received ping event");
});
evtSource.onerror = function(err) {
console.error("EventSource failed:", err);
};
}
Спасибо за любые указатели.