Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Scheduler (spring) , как сделать on/off выключатель для таски / 1 сообщений из 1, страница 1 из 1
15.01.2018, 13:48
    #39584402
javanoobie
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Scheduler (spring) , как сделать on/off выключатель для таски
Всем Привет,
Не могу понять как сделать метод в контроллере 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
Форумы / Java [игнор отключен] [закрыт для гостей] / Scheduler (spring) , как сделать on/off выключатель для таски / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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