Я попытался с ниже кодом, переписано из раствора @codependent «s, чтобы удовлетворить свою потребность. Его ответ. Но никогда не завершайте соединение, когда вкладка браузера закрывается. Его работа выполняется на стороне сервера. Все, что связано с HTTP GET здесь?
@RequestMapping(value = "/getNotificationCount/{userId}",method = RequestMethod.GET)
public SseEmitter getNotificationCount(@PathVariable("userId") String userId, HttpServletResponse response){
SseEmitter emitter = null;
try {
emitter = new SseEmitter();
while(true) {
try{
int count= myService.getNotificationCount(Integer.parseInt(userId));
emitter.send(count);
Thread.sleep(30 * // minutes to sleep
60 * // seconds to a minute
1000); // milliseconds to a second
}catch(ClientAbortException cae){
LOGGER.info("ClientAbortException Breaking the notification stream");
break;
}
}
//Closes the stream
emitter.complete();
} catch (Exception e) {
//Closes the stream
emitter.complete();
}
return emitter;
}
Возможный дубликат [внедрения SSE в Spring REST] (http://stackoverflow.com/questions/31229015/sse-implementation-in-spring-rest) – kaliatech
Там не было пружинный загрузочный раствор в этой ссылке. В нем говорится, что в настоящее время нет поддержки. Так что прошу оставить этот вопрос. – Anand