Как использовать @EJB в этом локальном контексте с JBoss 6.4

На самом деле у меня проблема с аннотацией @EJB как при локальном, так и при удаленном использовании. Но в этом вопросе я хотел бы остановиться на локальном использовании.

В этом эксперименте я использую Jboss EAP 6.4.

На изображении ниже я пытаюсь показать свою структуру EAR и место, где возникает проблема, красная стрелка. введите здесь описание изображения

Мой код в LocalCallSessionBean, который должен быть введен, выглядит так:

@EJB(mappedName="StatelessBean")
private static BeanLocal beanLocal;


public static String returnAString(String parameter)
{

    try
    {
        String string_2 = beanLocal.returnAString("LocalCallsBean-no-interface");

Моя проблема в том, что beanLocal никогда не внедряется, и я получаю NullPointer в последней строке выше.

Согласно: https://docs.oracle.com/javaee/6/tutorial/doc/gipjf.html#girfl ...в разделе "Доступ к локальным корпоративным компонентам, реализующим бизнес-интерфейсы", я думаю, это должно работать.

Ребята, вы видите что-то, что я пропустил? С уважением Фредрик Полезно Бесполезно


person user2902165    schedule 23.11.2017    source источник


Ответы (1)


Я добился некоторого прогресса. Я нашел три ошибки, которые я сделал.

1) У меня были зависимости, которые могли конфликтовать с моей целевой средой. Сравните изображение ниже с предыдущим.

2) Я использовал mappedName, но у меня никогда не получалось, чтобы это работало, см. изображение ниже, что я сделал вместо этого, для loacl мне просто понадобился @EJB.

3) Я пометил свое поле ejb-member/ejb как статическое, не могу объяснить почему, но это просто не сработало.

введите здесь описание изображения

Надеюсь, это поможет кому-то.

С уважением Фредрик Полезно Бесполезно

person user2902165    schedule 29.11.2017