Переменная сервиса не читается в методе запущенном в другом потоке

Приложение на Spring В сервисе крутится бесконечный цикл

@Service
public class MyService {
    public boolean isStart = false;

    @Async("threadPoolTaskExecutor")
    public void sending() {        
        while (isStartService) {
        ...
        }     
    }
}

В другом сервисе устанавливаю значение переменной isStartService = true. Пока не было на этом методе аннотации Async все работало. Но как только ее добавил, и он стал запускаться в отдельном потоке, то переменная isStartService внутри этого метода теперь всегда = false. Цикл ни когда не выполняется. Как мне правильно передавать значение этой переменой внутрь этого потока. Т.е. вначале она должна быть true, а спустя какое-то время передается ее значение false и тем самым метод прекращает свою работу.


Ответы (0 шт):