Нить.сна в пружине контроллера

Я работаю над устаревшей системой, где они Thread.sleep в контроллере. Сценарий здесь заключается в том, что после получения запроса он опрашивает другую службу, пока не будут выполнены критерии. Проблема в том, что поток обработки запросов заблокирован из-за опроса

Я пытаюсь заменить его DeferredResult который избегает блокировки и использует метод на основе обратного вызова. Опрос будет в отдельной теме и после его завершения setResult будет вызван и ответ будет дан пользователю.

Имеет ли смысл использовать DeferredResult для опроса с интервалом? Есть ли влияние на производительность на нагрузку?

Это код:

    while (status.equals("RUNNING")) {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            log.error("Error while polling for status setting Thread to sleep.", e);
        }
        status = requestStatus();
    }

Тот, который я пытаюсь улучшить, основан на этом примере

0 ответов

Другие вопросы по тегам