Я использую PradeAteAtFixEdRate и SseeMitter, но передняя часть получает сообщение только один раз.
мой код бэкэнд такой же < /p>
var scheduledFuture =
sseExecutor.scheduleAtFixedRate(
() -> {
try {
SseEmitter.SseEventBuilder event =
SseEmitter.event()
.data("SSE MVC - " + LocalTime.now())
.id(String.valueOf(System.currentTimeMillis()))
.name("sse event - mvc");
emitter.send(event);
log.info("Sent SSE message at {}", LocalTime.now());
} catch (Exception ex) {
log.error("SSE error: {}", ex.getMessage(), ex);
emitter.completeWithError(ex);
}
},
0,
5,
TimeUnit.SECONDS);
И я могу получить сообщение от curl, как показано ниже
, но от сообщения о том, что он только что можно получить. Браузер
js-код похож на этот
response = await fetch(sseUrl, {
method: 'GET',
headers: {
Accept: 'text/event-stream',
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`,
'Cache-Control': 'no-cache',
},
signal: abortController.signal,
})
Подробнее здесь: https://stackoverflow.com/questions/797 ... ssage-once