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. Когда речь заходит о приобретении мебели и бытовой техники, многие предпочитают делать покупки онлайн. Покупки онлайн очень удобны, они сокращают потраченное время и дают гораздо большую возможность выбора того или иного товара. Среди различных площадок, предлагающих купить бытовую технику и мебель для дома, стоит выделить онлайн-магазин Enter.
    В магазине ентер вы без труда сможете сделать выбор и оформить покупку самой разнообразной мебели в вашу квартиру или на дачу. В том случае если у вас открыт вопрос о выборе магазина для покупки мебели, то магазин Ентер самый оптимальный выбор на сегодняшний день.
    Одной из ключевых особенностей Enter является удобная навигация на сайте, благодаря которой можно легко найти необходимые товары. К примеру, если вас интересует мебель для ванной комнаты, вы можете использовать соответствующий раздел для того, чтобы подобрать шкафчики, зеркала или полки. Там же можно найти все необходимые аксессуары для ванной комнаты.
    Для тех, кто хочет обновить свою кухню или только оснащает её с нуля, бытовая техника для кухни от Enter – это отличный выбор. Здесь можно подобрать всё: от кофемашин и чайников до духовых шкафов и холодильников. Выбор огромен как по моделям, так и по производителям купить мебель в кишиневе
    Когда дело доходит до зоны отдыха – гостиной или спальни – здесь Enter также предлагает широкий ассортимент товаров. Уютные диваны, шкафы-купе на заказ или готовые конструкции для хранения одежды и белья – всё это можно легко подобрать под любой интерьер
    Что же касается бытовой техники в целом, то ассортимент этих товаров в Enter поражает своим разнообразием. Посудомоечные машины, стиральные машины разных размеров и функционала – все эти приборы существенно облегчат жизнь любой хозяйки.
    Приобретать бытовую технику и мебель на сайте Ентер очень выгодно, здесь регулярно проводятся акции о которых всегда можно узнать на официальном сайте интернет магазина.
    Здесь же вы всегда можете рассчитывать на гарантийное и после гарантийное обслуживание приобретенной бытовой техники, а что касается мебели то здесь вы найдете широкий спектр услуг по установке и сборке любой мебели.
    И конечно же нужно сказать о том, что доставка товаров приобретенных в онлайн магазине Ентер, осуществляется в самые кратчайшие сроки, условия доставки самые разнообразные, также приобретенные товары можно забрать самовывозом.
    Подводя итоги: если вы хотите обновить интерьер своего жилья или нуждаетесь в смене бытовой техники без лишних хлопот – онлайн-магазин Enter является отличным решением.

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.