Я пытаюсь отправить уведомление на мой сайт. My EventSource НЕ остается открытым. Он закрывается и открывается бесконечно. Он не остается открытым на несколько секунд.Spring And EventSource
Javascript
this.subscribe = function(eid, cid) {
if (!!window.EventSource) {
//no authentication. Be carreful
source = new EventSource(config.apiUrl + "v1/e/" + eid + "/c/" + cid + "/sse");
source.onerror = error;
source.addEventListener('message', function(e) {
console.log(e.data);
}, false);
source.addEventListener('open', function(e) {
// Connection was opened.
console.log(e.data);
}, false);
source.addEventListener('error', function(e) {
if (e.readyState == EventSource.CLOSED) {
// Connection was closed.
}
}, false);
} else {
// Result to xhr polling :(
console.log("No notifications available");
}
}
Java часть
SseEmitter subscribeUpdates() {
SseEmitter sseEmitter = new SseEmitter();
synchronized (this.sseEmitters) {
this.sseEmitters.add(sseEmitter);
sseEmitter.onCompletion(() -> {
synchronized (this.sseEmitters) {
this.sseEmitters.remove(sseEmitter);
}
});
}
return sseEmitter;
}
Любая идея?
Заранее спасибо.
Без всякой подсказки мне удалось сделать что-то по-другому. У меня есть сервер NodeJS, который поставляет вещи как SSE, Websocket и другие вещи RealTime. Приложение my Spring juste отправляет событие nodeJS, которое отправляет его клиентам.