Как я могу выполнить действие отката в Install4j независимо от того, какие барьеры отката я прошел?

#logging #rollback #install4j

#ведение журнала #Откат #install4j

Вопрос:

Я хочу отправить файл журнала установки install4j на свой сервер, если установка завершится неудачно. Лучший способ, который я мог найти для этого, — это действие, которое выполняет то, что мне нужно при откате. Проблема в том, что если у меня есть барьеры отката, то я должен добавить еще одно из этих действий после каждого барьера отката, чтобы он работал. В дальнейшем я могу изменить свои барьеры отката, но забыть также изменить свои действия в журнале вместе с ними, что значительно усложняет обслуживание.

Есть ли способ выполнить откат действия независимо от того, сколько барьеров отката прошел установщик, или, может быть, есть лучший способ захватить журнал, чем с помощью отката?

Ответ №1:

Вы можете использовать прослушиватель событий для реагирования на откат независимо от каких-либо барьеров отката:

 context.addInstallerEventListener(new InstallerEventListener() {
    public void installerEvent(InstallerEvent event) {
        if (event.getType() == EventType.CANCELLING) {
            // Add rollback code here
        }
    }
});