У меня есть веб-приложение с уведомлениями для пользователей (например, Facebook, Twitter, уведомления Instagram). Мне нужно возвращаться к своим уведомлениям веб-интерфейса каждый раз, когда истекает какой-то срок, поэтому мой бэкэнд должен каждый раз проверять, истекает ли какой-либо срок или уже истек. Вот почему я хочу создать запрос, который возвращает что-то каждые 5 минут, например.
Я пробовал Spring @Schedule и WebSocket.
Используя Schedule:
@Scheduled(fixedDelay = 1000)
@GetMapping(value = "/notification/get", produces = {MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<?> returnsNotification() throws InterruptedException {
Thread.sleep(4000);
List<Notification> notifications = seachNotifications();
return new ResponseEntity<>(notifications, HttpStatus.OK);
}
Моя проблема в том, что с этим кодом мое расписание не работает, поэтому мой веб-интерфейс должен вызывать запрос каждый раз.
Использование веб-сокета Я пока не понимаю, как с ним работать.