Один из JAR-файлов, развертываемых в EAR, использует Spring и предоставляет точку входа. к ландшафту CDI, в противном случае исключительно EE/EJB:
Код: Выделить всё
@org.springframework.context.annotation.Configuration
public class MyFooComponentFactory {
@Bean
public MyFooComponent() {
return new JndiTemplate()
.lookup(name(MyFooComponent.class), MyFooComponent.class);
}
}
Код: Выделить всё
@Resource
private SessionContext ctx;
@EJB
private OtherComponent other;
Я покопался в коде платформы Spring и обнаружил это, Wildfly 23, Spring создает org.springframework.beans.factory.annotation.InjectionMetadata с пустыми коллекциями для полей InjectedElements и CheckElements.
Но в Wildfly 26 эти поля не пусты, то есть Spring пытается внедрить их, но они не определены в контексте приложения Spring, поскольку они уже обрабатываются EJB.
Что тут происходит? Оба сервера используют пружинный контекст версии 5.3.22.
Подробнее здесь: https://stackoverflow.com/questions/787 ... components
Мобильная версия