Одна из банок, развертываемых в ухе, использует пружину и обеспечивает входную точку взимаемости CD
Код: Выделить всё
@org.springframework.context.annotation.Configuration
public class MyFooComponentFactory {
@Bean
public MyFooComponent() {
return new JndiTemplate()
.lookup(name(MyFooComponent.class), MyFooComponent.class);
}
}
< /code>
Реализация интерфейса Myfoocomponent использует аннотации EJB на уровне поля, например ,::
@Resource
private SessionContext ctx;
@EJB
private OtherComponent other;
< /code>
При запуске в Wildfly 23 сервер начинается без каких -либо проблем. Но когда я пытаюсь развернуть в Wildfly 26, Spring бросает nosuchbeandefinitionexception Это связано с тем, что на Wildfly 23 Spring создает org.springframework.beans.factoro FEECTEDELENTEMS Поля. Но они не определены в контексте приложения весеннего приложения, потому что с ним уже обрабатывается EJB.
Обновление
Я теперь определил, что причина InceptionMetAdata по -разному построена в версиях 23 и 26, потому что это потому org.springframework.context.annotation.commonannotationbeanpostprocessor#buildresourcemetadata навигает на иерархию класса для myfoocomponent (на самом деле это myfoocomponent $$$. clazz.getsuperclass () возвращает java.lang.object , но для Wildfly 26 он возвращает класс myfoocomponentimpl , а затем возвращает java.lang.object . Метаданные. < /p>
Итак, кто -нибудь может сказать мне, почему это происходит? Изменения класса загрузчика между Wildfly 23 и 26?
Подробнее здесь: https://stackoverflow.com/questions/787 ... components
Мобильная версия