Встраивание OpenEJB в TestCase с использованием javax.ejb.embeddable.EJBContainer - PullRequest
1 голос
/ 07 января 2012

Встраивание OpenEJB в TestCase с использованием javax.ejb.embeddable.EJBContainer.

EJBContainer container = EJBContainer.createEJBContainer ();

всегда возвращает «ноль».

Как создать экземпляр EJBContainer и получить контекст для поиска локального компонента EJB 3.0 без сохранения состояния для модульного тестирования?

Я хотел бы получить контекст из созданного контейнера, а не из исходного контекста, как это можно сделать?

Ответы [ 2 ]

2 голосов
/ 07 января 2012

Как создать экземпляр EJBContainer и получить контекст для поиска локального компонента EJB 3.0 без сохранения состояния для модульного тестирования?

(я думаю, вы намеревались спросить об EJB 3.1.1005 * было добавлено в EJB 3.1). Вы можете сделать это следующим образом:

 EJBContainer ejbContainer = EJBContainer.createEJBContainer();
Object object = ejbContainer.getContext().lookup("java:global/simple-stateless/CalculatorBean");

Посмотрите на пример Simple Stateless .

1 голос
/ 11 января 2012

В OpenEJB, бета-версия OpenEJB 4.0.0 поддерживает java ee встраиваемый API, и с помощью этого мы можем встроить контейнер в наш тестовый пример, например,

    EJBContainer ejbContainer = EJBContainer.createEJBContainer();

В предыдущих версиях OpenEJB мыне может так поступить, поэтому мы используем «LocalInitialContextFactory» для создания контекста.

...