How to unit test EJB3 without a container

Unit test EJB3 without a container has become much easier since the EJB 3.1 spec with the introduction of the embeddable EJBContainer concept. An embeddable EJBContainer is a container for enterprise beans that does not require a Java EE server to run.

Interesting usage scenarios are:

  • EJB unit testing: you don’t need to install a JavaEE server for EJB development, unit testing and deployment to the container
  • Lightweight: the embeddable container has a much smaller footprint
  • Fast: starts faster than the full server, because it only initializes EJB-related components

Sample code

Below you can find a simple setup method for a JUnit test that configures the Embeddable EJBContainer.

@Before
public void setup() {
	Properties properties = new Properties();
	properties.setProperty(EJBContainer.MODULES, "myModule");
	properties.put(EJBContainer.PROVIDER, "tomee-embedded");
	Context context = EJBContainer.createEJBContainer().getContext();
}

@After
public void tearDown() throws NamingException {
	ejbContainer.close();
}

Here myModule is the module-name defined in ejb-jar.xml file

So how does the EJBContainer start an embedded EJB container? You’ll need to provide an embedded EJB container on the classpath. Normally all Application servers supporting JavaEE6 have to provide such an embedded EJB container.

Apache TomEE container This example uses Apache TomEE as it provides an easy way to specify the correct dependencies via Maven.

<dependency>
	<groupId>org.apache.openejb</groupId>
	<artifactId>tomee-embedded</artifactId>
	<version>1.5.2</version>
</dependency>            
<dependency>
	<groupId>javax</groupId>
	<artifactId>javaee-api</artifactId>
	<version>6.0</version>
	<scope>provided</scope>
</dependency>

The properties.put(EJBContainer.PROVIDER, “tomee-embedded”) makes sure that we will use Apache TomEE when running the test. (even if there is another provider on the classpath)

0 thoughts on “How to unit test EJB3 without a container”

  1. Чтение новостей помогает быть в курсе событий в мире, анализировать происходящее и сформировывать собственную позицию. Но где искать качественные новостные ресурсы? Вот немного хороших ответов, с чего начать поиск.

    Официальные веб-сайты СМИ

    Самое очевидное входить на официальные веб-сайты фаворитных газет, телеканалов и радиостанций. Найдите в поисковике сайты федеральных, региональных и зарубежных СМИ, которые вас заинтересовывают. Образцы: BBC, New York Times, Медуза, РБК, Коммерсантъ, Интерфакс.

    Агрегаторы новостей

    Сервисы-агрегаторы собирают новинки со огромного количества источников и дозволяют экономить время. Модные агрегаторы: Google Анонсы, Яндекс.Новости, NewsNow, Inoreader, Feedly.

    Тема и нишевые ресурсы

    Если интересуетесь определённой темой, ищите специализированные новостные порталы. К примеру, Хабр для IT-новостей, Спорт-Экспресс о спорте, про бизнес и технологии.

    Соц сети и мессенджеры

    Многие СМИ водят официальные каналы в Telegram, VK, на YouTube. Подпишитесь на любимые источники, чтобы получать анонсы напрямую, не заходя на сайт.

    Тематические автомобильные весы электронные рассылки

    Подпишитесь на email-рассылки от популярных ресурсов или направленных на определенную тематику дайджестов это экономит время и подсобляет быть в курсе основного.

    Как проверить качество ресурса

    Направьте свой взгляд на следующие моменты:

    – История ресурса и репутация
    – Прозрачность владельцев и редакции
    – Источники информации и указание первоисточников
    – Наличие независимой проверки информации

    Часто обновляйте свою новостную ленту, чтоб получать различные точки зрения и быть по-истинному информированным!

  2. Чтение новостей помогает находится в курсе событий в мире, рассматривать происходящее и формировать собственную точку зрения. Но где разыскивать качественные новостные ресурсы? Вот немного хороших ответов, с чего начать поиск.

    Официальные сайты СМИ

    Самое явное входить на официальные веб-сайты модных газет, телеканалов и радиостанций. Найдите в поисковике веб-сайты федеральных, региональных и зарубежных СМИ, которые вас заинтересовывают. Образцы: BBC, New York Times, Медуза, РБК, Коммерсантъ, Интерфакс.

    Агрегаторы новостей

    Сервисы-агрегаторы собирают новинки со огромного количества источников и дозволяют экономить время. Модные агрегаторы: Google Анонсы, Яндекс.Новости, NewsNow, Inoreader, Feedly.

    Тема и нишевые ресурсы

    Если интересуетесь определённой темой, разыскивайте специализированные порталы новостей. Например, Хабр для IT-новостей, Спорт-Экспресс о спорте, про бизнес и технологии.

    Соц сети и мессенджеры

    Многие СМИ ведут официальные каналы в Telegram, VK, на YouTube. Подпишитесь на любимые источники, чтоб получать анонсы напрямую, не заходя на сайт.

    Направленные на определенную тематику Coinomis отзывы рассылки

    Подпишитесь на email-рассылки от популярных ресурсов или направленных на определенную тематику дайджестов это сберегает время и помогает быть в курсе головного.

    Как проверить качество ресурса

    Направьте свой взгляд на следующие моменты:

    – История ресурса и репутация
    – Прозрачность собственников и редакции
    – Источники информации и указание первоисточников
    – Наличие самостоятельной проверки информации

    Регулярно обновляйте свою новостную ленту, чтоб получать разнообразные точки зрения и быть по-настоящему информированным!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.