2015-10-13 1 views
0

У меня есть TestClass:Arquillian не может впрыскивать EJB

@RunWith(Arquillian.class) 
public class ActionServiceTest { 

    @EJB 
    private ActionService actionService; 
... 
} 

Это прекрасно работает. Теперь я создал еще один файл ActionBuilder, который также должен иметь введенный EJB (но не имеет @RunWith Annotation) и вызывается из ActionServiceTest, например.

new ActionBuilder().foo() 

.

public class ActionBuilder { 

    @EJB 
    ActionService actionService; 
... 
} 

В этом случае actionService является null. Можешь мне сказать почему?

+0

Вы используете микроразряд? Является ли ActionService (и impl) включенным в микроразделение? – LightGuard

+0

Да, абсолютно – matthias

ответ

0

Похоже, вы используете new, который будет обходить любую инъекцию контейнера.

+0

как еще я должен создать экземпляр ActionBuilder()? Должен ли он иметь аннотацию @Stateless? – matthias

+0

Вы можете сделать это ejb, а также использовать cdi для его ввода. – LightGuard

 Смежные вопросы

  • Нет связанных вопросов^_^