#java #spring #task #scheduler
#java #весна #задача #планировщик
Вопрос:
У меня есть приложение, которое каждый день подключается к API и извлекает данные (планировщики запускаются каждые 24 часа). Я хотел бы добавить такую функциональность: после регистрации пользователя вызывайте планировщики и принудительно извлекайте данные прямо сейчас. Не могли бы вы порекомендовать наилучший подход весной?
@Component
public class GetMyFeeEstimateScheduler extends Scheduler {
@Scheduled(fixedDelay = DELAY)
@Transactional
public void fetchGetMyFeeEstimate() throws Exception {
fetchData();
}
@PostMapping("/signup")
public void signUp(@RequestBody SignUpRequest signUpRequest) {
// ...
// CALL_SCHEDULERS
}
Комментарии:
1. Введите
GetMyFeeEstimateScheduler
и просто вызовите метод.2. Насколько я вижу
GetMyFeeEstimateScheduler
, это компонент, просто автоматически подключающий его к контроллеру и вызывающий метод?
Ответ №1:
Я бы предпочел предоставить fetchData()
как общедоступный метод в классе обслуживания, а затем вызвать из контроллера и из планировщика.
Другой вариант — вызвать fetchGetMyFeeEstimate
непосредственно из контроллера.