Вызовите метод после запуска приложения Spring BootJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Вызовите метод после запуска приложения Spring Boot

Сообщение Anonymous »

У меня есть приложение для Spring Java Spring, в котором есть планировщик, который вызывает асинхронную задачу из службы. Задача занимает несколько минут (обычно 3-5 минут), чтобы завершить. < /p>

code: < /p>

планировщик < /strong> < /p>

@Component
public class ScheduledTasks {
@Autowired
private MyService myService;

@Scheduled(cron = "0 0 */1 * * ?")
public void scheduleAsyncTask() {
myService.doAsync();
}
}
< /code>

service < /strong> < /p>

@Service
public class MyService {
@Async("threadTaskExecutor")
public void doAsync() {
//Do Stuff
}
}
< /code>

контроллер < /strong> < /p>

@CrossOrigin
@RestController
@RequestMapping("/mysrv")
public class MyController {
@Autowired
private MyService myService;

@CrossOrigin
@RequestMapping(value = "/", method = RequestMethod.POST)
public void postAsyncUpdate() {
myService.doAsync();
}
}
< /code>

Планировщик запускает задачу Async каждый час, но пользователь также может запускать ее вручную из пользовательского интерфейса. продолжается, когда метод работает, а затем он отключается после завершения метода. < /p>

Что -то подобное в моем классе службы: < /p>

@Autowired
private MyDbRepo myDbRepo;

@Async("threadTaskExecutor")
public void doAsync() {
if (!myDbRepo.isRunning()) {
myDbRepo.setIsRunning(true);
//Do Stuff
myDbRepo.setIsRunning(false);
} else {
LOG.info("The Async task is already running");
}
}
< /code>

Теперь проблема заключается в том, что флаг иногда застрял по разным причинам (перезагрузка приложения, некоторая другая ошибка приложения и т. Д.) < /p>

Как я могу это сделать? Есть ли способ запустить метод сразу после запуска приложения Spring Boot, откуда я могу вызвать метод из моего репо, чтобы установить флаги в базе данных?

Подробнее здесь: https://stackoverflow.com/questions/558 ... app-starts
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»