Планировщик вызовов после метода

#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 непосредственно из контроллера.