powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Scheduler (spring) , как сделать on/off выключатель для таски
1 сообщений из 1, страница 1 из 1
Scheduler (spring) , как сделать on/off выключатель для таски
    #39584402
javanoobie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем Привет,
Не могу понять как сделать метод в контроллере POST /activte который обновит таску по id с бд и поставит ей active = true и тоже самое /deactivate ;и как в скедулере профильтровать те которые active=true?
Битый час вожусь,надеюсь кто то подскажет ;

Controller
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
@Autowired
    private MonitorRepository monitorRepository;
 
    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    @ResponseStatus(HttpStatus.OK)
    public Monitor getMonitor(@PathVariable("id") Long id) {
        return monitorRepository.findOne(id);
    }
 
    @ResponseStatus(HttpStatus.NO_CONTENT)
    @RequestMapping(value = "/add", method = RequestMethod.POST,headers = "Accept=application/json")
    public void addMonitor(@RequestBody Monitor monitor) {
        monitorRepository.save(monitor);
        System.out.print(monitor);
 
 
    }


Scheduler
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
@Autowired
    private MonitorRepository monitorRepository;
    public List<Monitor> findAll(){
        return monitorRepository.findAll();
    }
 
 
 
    @Scheduled(fixedRate = 1000)
    public void scheduleFixedRateTask() throws IOException {
    List<Monitor> tasks = monitorRepository.findAll();
    for (Monitor monitor : tasks){
 
        HttpClient client = HttpClientBuilder.create().build();
        HttpGet request = new HttpGet(monitor.getUrl());
        HttpResponse response = client.execute(request);
        Monitor.MonitoringStatus status = OK;
        if(response.getStatusLine().getStatusCode() != monitor.getExceptedHttpResponseCode()){
            status = CRITICAL;
 
        }
        monitor.setStatus(status);
        monitorRepository.save(monitor);
        System.out.println(monitor.getUrl() + response.getStatusLine().getStatusCode() + "--" + monitor.getExceptedHttpResponseCode() );
 
    }
 
}
 
}
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Scheduler (spring) , как сделать on/off выключатель для таски
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]