Как вызвать пружинный контроллер через каждые определенные промежутки времени? - PullRequest
1 голос
/ 29 марта 2011

Эй, у меня есть это веб-приложение, созданное с помощью весны и postgres.Предположим, что мое приложение позволяет пользователю сделать некоторые оговорки, указав время.Если он не появится в течение получаса с указанного времени, я хочу отменить это бронирование.Итак, предположим, что таблица, в которой я храню резервирования, содержит столбец со значениями указанного времени резервирования и логический флаг, который указывает, прибыл пользователь или нет.

Я могу придумать два способа справиться с этимсценарий.Можно было бы создать контроллер пружины, который может проверять значения из таблицы резервирования и видеть, больше ли разница между текущим временем и указанным временем больше получаса и отменяет ли это резервирование.Другой способ - создать функцию postgres, которая может достичь того же.

Я хочу, чтобы кто-нибудь помог мне здесь.Как мне неоднократно вызывать вышеупомянутый пружинный контроллер через каждый интервал времени, скажем, 15 минут?Или, если я пишу функцию postgres, которая уменьшает нагрузку на приложение, как мне это сделать?

Любая помощь приветствуется.Заранее спасибо.

С уважением, SerotoninChase

Ответы [ 2 ]

10 голосов
/ 29 марта 2011

Вы можете аннотировать метод, который хотите вызвать, с помощью @Scheduled(fixedRate=900000), это весенняя аннотация для вызова этого метода каждые 15 минут.

Ознакомьтесь с документацией .

2 голосов
/ 17 августа 2017

Просто убедитесь, что метод, аннотированный @Scheduled, также не должен быть методом, аннотированным @RequestMapping:

Обратите внимание, что методы, которые должны быть запланированы, должны иметь возврат void и не должны ожидатьлюбые аргументы.

И вам нужно @EnableScheduling в вашем классе конфигурации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...