JBoss Container

Pax Exam's JBoss container is a Java EE container without any OSGi support. This container launches JBoss AS 7.1.1.Final embedded in the same VM and deploys any Java EE modules configured by Pax Exam options and a WAR test probe built on the fly from the classpath contents.

This container supports JBoss AS 7.0.x and 7.1.x. For JBoss AS 7.2, which has an incompatible embedded API, please use the WildFly 8.x Container.

This is the standard lifecycle of the JBoss container:

  1. If the directory configured in pax.exam.jboss.home is empty or does not exist, the JBoss AS 7.1.1 distribution Maven artifact is downloaded and installed in that directory.
  2. The directory configured in pax.exam.jboss.config.dir (defaulting to src/test/resources/jboss-config) is used as JBoss configuration directory by setting the system property jboss.server.config.dir.
  3. If pax.exam.jboss.home is non-empty, Pax Exam does not copy any configuration files and works with the existing installation in that directory, throwing an exception if the JBoss module launcher cannot be found in the expected place.
  4. JBoss AS is started via org.jboss.as.embedded.EmbeddedServerFactory.create().
  5. Any Java EE modules configured by the user are deployed.
  6. A WAR probe is built and deployed.
  7. All tests contained in the probe are executed within the container.
  8. All Java EE modules (including the WAR probe, if any) are undeployed.
  9. JBoss AS is stopped.
  10. The framework storage is deleted (depending on the configuration options).

Current restrictions:

  • Since SLF4J + logback is the preferred logging solution in Pax Exam 3, all JBoss logging is redirected to SLF4J. This requires disabling the org.jboss.as.logging module in the standalone.xml configuration file.