Pax Exam's WildFly container is a Java EE container without any OSGi support. This container launches WildFly 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.
Despite its name pax-exam-container-wildfly80
, this test container supports all 8.x and 9.x releases of WildFly. It does not support WildFly 10.x or higher. With the WildFly Core split of the 9.x release line, a new embedded API was introduced in WildFly Core, while the old JBoss AS API still exists. This old API was removed in WildFly 10.0.0.Beta1. WildFly 9.x can be used with pax-exam-container-wildfly80
or pax-exam-container-wildfly90.
This is the standard lifecycle of the WildFly container:
- If the directory configured in
pax.exam.wildfly80.home
is empty or does not exist, the latest WildFly distribution Maven artifact (currently 8.1.0.Final) is downloaded and installed in that directory. - The directory configured in
pax.exam.wildfly80.config.dir
(defaulting tosrc/test/resources/wildfly80-config
) is used as WildFly configuration directory by setting the system propertywildfly80.server.config.dir
. - If
pax.exam.wildfly80.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. - WildFly is started via
org.jboss.as.embedded.EmbeddedServerFactory.create()
. - Any Java EE modules configured by the user are deployed.
- A WAR probe is built and deployed.
- All tests contained in the probe are executed within the container.
- All Java EE modules (including the WAR probe, if any) are undeployed.
- JBoss AS is stopped.
- The framework storage is deleted (depending on the configuration options).