Payara Server Embedded Arquillian Container Adapter
When using this adapter, the Payara Server container lifecycle is managed by Arquillian and resides in the same JVM where tests are executed using a local communication protocol.
Usage
The Payara Server Embedded Arquillian container adapter can be found on Maven Central, and can be included in your project using the following Maven GAV coordinates:
<dependency>
<groupId>fish.payara.arquillian</groupId>
<artifactId>arquillian-payara-server-embedded</artifactId>
<version>${version}</version>
</dependency>
Container Configuration
The Payara Server container can be configured via the arquillian.xml
file using the standard Arquillian Container Configuration mechanism.
Name | Description | Default |
---|---|---|
|
The port number of the http-listener for the embedded Payara Server. |
|
|
The port number of the https-listener for the embedded Payara Server. |
|
|
Specifies whether Arquillian should clean up on shutdown. This recursively deletes files in the |
|
|
Specifies whether Payara Server should write back any changes to specified configuration file or |
|
|
Set the location of configuration file i.e. |
|
|
The installation root directory is the parent directory of a Payara Server instance directory and corresponds to the base directory for an installation of Payara Server. |
|
|
The instance root directory is the domain directory and embedded Payara Server uses the server instance directory for domain configuration files. |
The default domain directory |
|
A comma-separated list of Payara resources.xml files containing resources that will be added to the Payara instance using the |
|
|
Full path to a hazelcast configuration file used to override the hazelcast bootstrap default configuration. |
Examples
To configure the Arquillian Container options, you need to use an arquillian.xml
file placed on the test classpath.
Here’s an example arquillian.xml
file. It configures adminPort
with a static value. It configures bindHttpsPort
as a value of a system property my.httpsport
, which you can specify for example in the maven surefire
plugin using the systemPropertyVariables
option or on the command line like mvn -Dmy.httpsport=8081 test
.
It also overrides hazelcast bootstrap configuration indicating a path for an XML file in property hazelcastConfigurationFile
.
arquillian.xml
file<?xml version="1.0"?>
<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://jboss.org/schema/arquillian"
xsi:schemaLocation="http://jboss.org/schema/arquillian
http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<container qualifier="payara-embedded" default="true">
<configuration>
<property name="bindHttpPort">8080</property>
<property name="bindHttpsPort">${my.httpsport}</property>
<property name="hazelcastConfigurationFile">/home/payara/hazelcast-config.xml</property>
</configuration>
</container>
</arquillian>
If you want to configure more containers, you can switch between them by setting the arquillian.launch
system property to the container’s qualifier. This is how you can do it with the maven surefire
plugin (my.httpsport
system property is used to set the bindHttpsPort
property in arquillian.xml
):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemPropertyVariables>
<arquillian.launch>payara</arquillian.launch>
<my.httpsport>8081</my.httpsport>
</systemPropertyVariables>
</configuration>
</plugin>