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. Добрый день!
    Хотите зарегистрироваться в сервисе без использования личного номера? Виртуальный номер – это лучшее решение. Он сохраняет вашу конфиденциальность. https://wasp.kz/articles.php?article_id=2028 Купить постоянный виртуальный номер – это удобно и безопасно. Вы сможете использовать его без ограничений. Надежный инструмент для всех пользователей!
    Постоянный виртуальный номер – это универсальный инструмент для работы. Он позволяет принимать сообщения без ограничений. Купить виртуальный номер для смс навсегда – это быстро и просто. Ваши данные будут под защитой. Используйте его для любых задач!
    купить виртуальный номер, виртуальный номер, купить виртуальный номер навсегда
    Удачи и хорошей связи!

  2. Привет всем!
    Купить виртуальный номер – это свобода общения. Вы сможете использовать его на любых сайтах. https://golubevod.net/chto-takoe-virtualnyj-nomer-dlya-twitter.html Постоянный виртуальный номер для смс обеспечит вам конфиденциальность. Ваши сообщения всегда будут доставлены. Надежное и удобное решение!
    Виртуальный номер – это удобный способ регистрации. Он не требует физической SIM-карты. Купить виртуальный номер для смс навсегда можно за пару минут. Используйте его для любых нужд. Простота и надежность в одном решении!
    купить виртуальный номер для смс навсегда, виртуальный номер телефона, постоянный виртуальный номер
    Удачи и хорошей связи!

  3. Привет всем!
    Постоянный виртуальный номер – ваш надежный помощник в цифровом мире. Он позволяет регистрироваться на любых платформах. https://paolarios.com/mision/#comment-32017 Купить виртуальный номер для смс навсегда – значит получить доступ к сервисам без ограничений. Это безопасно, удобно и быстро. Доступ в интернет без границ!
    Хотите больше конфиденциальности? Виртуальный номер навсегда – это ваш выбор. Он позволяет регистрироваться без риска утечки данных. Купить постоянный виртуальный номер – это выгодное решение. Такой номер остается с вами навсегда. Ваши данные надежно защищены!
    купить виртуальный номер для смс навсегда, виртуальный номер, купить виртуальный номер для смс навсегда
    Удачи и хорошей связи!

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.