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. Путешествия открывают перед нами новые горизонты, позволяют знакомиться с различными культурами и расширять кругозор. Однако вне зависимости от направления и продолжительности поездки, разумно подготовиться к возможным непредвиденным ситуациям. Одним из самых важных аспектов подготовки к путешествию является страхование на период отдыха. В данной статье мы рассмотрим, почему туристическая страховка так важна, какие виды страховых полисов существуют, и каким вариантом страхования оптимально будет воспользоваться в путешествии.
    Зачем нужно страхование на период отдыха?
    Страхование путешествий является необходимой мерой предосторожности, которая помогает защитить финансовые и личные интересы путешественника. Вот основные причины, почему стоит обратить внимание на туристическую страховку:
    1. Медицинская помощь за границей: В том случае если при нахождении за границей вы обратитесь в мед организацию, это может стоить очень дорого, а вот страховка все покроет. Страховой полис покрывает стоимость медицинских услуг, госпитализации и, при необходимости, эвакуации на родину.
    2. Отмена или задержка поездки: Большой ряд непредвиденных обстоятельств может помешать Вам отправиться в путешествие, и билеты просто пропадут, тогда как при наличии полиса страхования путешественника все расходы будут возмещены.
    3. Третий пункт это ваш багаж: Багаж может задержаться, или к примеру просто потеряться, в случае наличия страхового полиса путешественника вся заявленная стоимость багажа будет возвращена страховой компанией.
    4. Помощь юриста при нахождении за границей: В случае столкновения с правовыми проблемами за границей, страховой полис может покрыть услуги адвоката и другие юридические расходы.
    5. Защита от несчастных случаев: Покрытие рисков, связанных с серьезными травмами или летальным исходом, обеспечит финансовую поддержку вашим близким.
    Виды страхования путешествий
    Ниже представлены основные виды страхования туриста:
    1. Страховка на мед обслуживание:
    – Часто включает поддержку в экстренных ситуациях и медицинскую эвакуацию https://travelthailand.ru
    2. Страховка на багаж путешественника:
    – Покрывает расходы на приобретение необходимых предметов первой необходимости при задержке багажа.
    3. Страхование от отмены поездки:
    – Компенсирует расходы на несостоявшиеся поездки из-за непредвиденных обстоятельств (болезнь, чрезвычайная ситуация, отмена рейса и др.).
    4. Страховка гражданской ответственности:
    В случае если по вашей вине пострадали третьи лица за границей, страховая компания им все компенсирует.
    5. Многоразовая страховка:
    Страховка практически на все страховые случаи в определённый период времени вне зависимости от того когда в этот период запланирована поездка.
    6. Страхование туристов в особых случаях:
    – Включают страхование для экстремальных видов спорта, путешествия беременных женщин или пожилых людей.
    Страхование на период отдыха — это не просто формальность, а важный инструмент для обеспечения вашей безопасности и спокойствия во время путешествия. Обдуманный выбор страхового полиса позволит вам сосредоточиться на получении положительных впечатлений от путешествия, зная, что вы защищены от возможных рисков.

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.