Можете ли вы остановить развертывание в Wildfly, если возникло исключение? [Дубликат]

Еще один подход к возврату значения из асинхронной функции - передать объект, который сохранит результат от асинхронной функции.

Вот пример того же:

var async = require("async");

// This wires up result back to the caller
var result = {};
var asyncTasks = [];
asyncTasks.push(function(_callback){
    // some asynchronous operation
    $.ajax({
        url: '...',
        success: function(response) {
            result.response = response;
            _callback();
        }
    });
});

async.parallel(asyncTasks, function(){
    // result is available after performing asynchronous operation
    console.log(result)
    console.log('Done');
});

Я использую объект result для хранения значения во время асинхронной операции. Это позволяет получить результат даже после асинхронного задания.

Я использую этот подход много. Мне было бы интересно узнать, насколько хорошо этот подход работает, когда задействован результат обратно через последовательные модули.

4
задан czerny 19 March 2015 в 11:57
поделиться

1 ответ

Если вы выкидываете любое исключение RuntimeException (например, IllegalArgumentException для ошибок конфигурации) из аннотированного метода @PostConstruct в аннотированном @Singleton @Startup, то все приложение не сможет выполнить развертывание.

Из §4.8. 1 «Инициализация сессионного сеанса Singleton» спецификации EJB 3.2:

Если аннотация «Запуск» появляется в однотипном сеансовом компоненте или если один сеансовый компонент singleton был назначен через дескриптор развертывания, как требующий нетерпения инициализация, контейнер должен инициализировать экземпляр сеанса singleton session во время последовательности запуска приложения. Контейнер должен инициализировать все такие синтаксические сеансы однократного запуска до того, как любые запросы внешних клиентов (то есть запросы клиентов, происходящие вне приложения) будут доставлены на компоненты любого компонента предприятия в приложении.

Это не может быть выполнено, если инициализация терпит неудачу.

8
ответ дан Steve C 24 August 2018 в 03:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: