У меня есть простой вопрос о том, как запустить cdi в JBoss EAP 6.2 Pojos, которые вводятся с помощью @inject (из javax.annotation), всегда равны нулю.JBoss EAP 6.2 CDI beans.xml
Единственное, что я могу найти, это то, что мне нужно добавить beans.xml. Я добавил, что в папке META-INF моей банки (внутри уха). Тем не менее, я не вижу никаких записей cdi/weld, поэтому мне интересно, разрешен ли сварка вообще.
Мы используем пользовательский standalone.xml и jboss-deployment-structure.xml Я пробовал добавлять модуль сварки в эти файлы, но результат тот же: нет регистрации сварки и без инжекционных бобов.
Я создал образец проекта с ejb, который загружается @Startup и пытается ввести pojo. Когда я развертываю этот проект в том же контейнере, компонент инициализируется, но введенное поле равно null.
У вас есть несколько примеров, как вы определили классы и какие ошибки вы получаете? –
Я уже получаю дрожь, когда вижу слово «EAR». Вам нужно указать структуру вашего развертывания -> на спецификацию JEE, должны быть разные загрузчики классов, используемые для разных частей EAR, и видимость ограничена (например, EJB не может видеть материал, находящийся в WAR, но наоборот работает). Это часто приводит к путанице, и CDI работает не так, как ожидалось. Добавьте дополнительные сведения о структуре развертывания и образце кода. Что касается 'beans.xml' - вы должны иметь его там, чтобы включить обнаружение bean-компонентов. – Siliarus
@Siliarus Проект со скриншота развернут как взорванное ухо с одной банкой. EJB и pojo находятся в одной банке. Также есть beans.xml. Я попытаюсь создать единую банку ejb с теми же источниками. – bergvandenp