Выполняется запланированная задача с остановкой пружины - PullRequest
0 голосов
/ 26 мая 2019

Я пытаюсь остановить задание запуска по расписанию, чтобы иметь возможность отдавать предпочтение другим методам по сравнению с запланированным (планировщик должен запускаться только тогда, когда никто другой не делает что-то), этот код уже работает, но как выможно увидеть, что требуется несколько ifs, я ищу способ их избежать, например, остановив activityChecker(), когда активность меняется на true, это означает, что нужно остановить текущий процесс, но метод schedul по-прежнему вызывается каждые 45 секунд.

    public void doSomething(){
        activity = true;
        //code
    }

    public void doSomethingElse(){
        activity = true;
        //code
    }

    @Scheduled(fixedRate = 45000)
    private void activityChecker() {
        if (!activity) {
            saveUncompleteData();
        }
        if (!activity) {
            for (String data : list){
                //do something
                if (activity) {
                    break;
                }
            }
        }
        if (!activity) {
            saveList(list);
        }
        if (!activity) {
            saveCompleteData();
        }
        activity = false;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...