Что делать с WELD-001477 после обновления JBoss EAP до 7.2.1?

В настоящее время я тестирую последнюю версию JBoss EAP 7.2.1 в сравнении с предыдущей версией 7.2.0. В то время как версия 7.2.0 отлично работала для нашего крупного корпоративного приложения, более поздняя версия 7.2.1 теперь выдает множество исключений, подобных этому, при запуске:

WELD-001477: компонент Managed Bean [класс package.SomeFacadeBean] с квалификаторами [@Any @Default] объявляет пассивирующую область, но имеет (n) перехватчик [класс com.arjuna.ats.jta. cdi.transactional.TransactionalInterceptorMandatory перехватывает @Transactional] с зависимостью, не поддерживающей пассивацию com.arjuna.ats.jta.cdi.JNDIBean@6f5e65a8

Эти bean-компоненты объявляются следующим образом:

@ConversationScoped
public class SomeFacadeBean implements SomeFacade, Serializable {

    // Simplified example...
    @Transactional
    public void someMethod(Object param) {
        // ...
    }
}

Я мог бы решить эту первоначальную ошибку WELD-001477 в модуле EJB, удалив @ConversationScoped здесь, но эта же самая ошибка выдается для всех моих компонентов пользовательского интерфейса в модуле WEB, которые используют методы @Transactional в сочетании с @ConversationScoped для своих классов.

И я не могу удалить @ConversationScoped здесь — это UI-бины, которым нужна эта область.

@ConversationScoped
public class SomeBeanUI implements Serializable {

    // Simplified example...
    @Inject
    private SomeFacade facade;

    private Object anySerializable;

    @Transactional
    public void save() {
        // ...
    }
}

Итак, как мне решить эту новую проблему с помощью JBoss EAP 7.2.1?


person Daniel Bleisteiner    schedule 15.05.2019    source источник
comment
Читаю после поста... и думаю: а может, надо убрать только @ConversationScoped, а не Serializable... #блин   -  person Daniel Bleisteiner    schedule 15.05.2019
comment
Это решает WELD-001413... но исходная проблема остается. Обновлю пост...   -  person Daniel Bleisteiner    schedule 15.05.2019
comment
Поскольку вы используете JBoss EAP, вы всегда можете открыть запрос в службу поддержки для этого доступа. redhat.com/support/cases/#/case/new. Я не эксперт CDI, но это похоже на регрессию.   -  person James R. Perkins    schedule 16.05.2019
comment
Я открыл один... посмотрим, что придет первым.   -  person Daniel Bleisteiner    schedule 16.05.2019
comment
Билет поддержки также указывает на возможную регрессию. Представлен минимальный развертываемый пример.   -  person Daniel Bleisteiner    schedule 16.05.2019
comment
issues.jboss.org/browse/WFLY-11716   -  person Daniel Bleisteiner    schedule 16.05.2019
comment
issues.jboss.org/browse/JBTM-3110   -  person Daniel Bleisteiner    schedule 16.05.2019
comment
Похоже, теперь есть открытая JIRA для 7.2.x issues.jboss.org/browse/JBEAP- 16910. Я полагаю, это для вас :)   -  person James R. Perkins    schedule 16.05.2019
comment
EAP 7.2.2 был выпущен вчера... и знаете что? WELD-001477 не исправлено: подавлено: org.jboss.weld.exceptions.UnserializableDependencyException: WELD-001477: компонент Managed Bean [класс my.package.xyz.ErrorsUI] с квалификаторами [@Default @Any @Named] объявляет пассивирующую область но имеет (n) Interceptor [класс com.arjuna.ats.jta.cdi.transactional.TransactionalInterceptorRequired перехваты @Transactional] с зависимостью без пассивации com.arjuna.ats.jta.cdi.JNDIBean@314148db — они Забудь об этом?   -  person Daniel Bleisteiner    schedule 11.06.2019
comment
Похоже, это будет исправлено в 7.2.3 согласно JIRA.   -  person James R. Perkins    schedule 11.06.2019


Ответы (1)


Просто для полноты... эта регрессия была исправлена ​​в EAP 7.2.3.

person Daniel Bleisteiner    schedule 12.05.2020