Provisioning JBoss EAP
Instructions for provisioning Red Hat JBoss Enterprise Application Platform.
Abstract
Chapter 1. Basics of server provisioning Copy linkLink copied to clipboard!
When you do not need all the capabilities of a JBoss EAP server, you can provision a JBoss EAP server with only the required capabilities, instead of installing the complete JBoss EAP server. By provisioning a server with only the required capabilities, you reduce the memory footprint of the server and also its security exposure. You can use a provisioned server both on bare metal and OpenShift Container Platform.
Composition of a provisioned server
Server provisioning makes use of Galleon tooling and provisions a server based on three main elements:
- Galleon layer
- A Galleon layer provides a set of subsystems and Jakarta EE technologies. A provisioned server is composed of one or more Galleon layers.
- Galleon feature-pack
- A Galleon feature-pack contains a set of Galleon layers. You can choose which Galleon layer you want to include and exclude when provisioning a server.
- Channel
- A channel contains all the Maven coordinates of the server artifacts and Galleon feature-packs.
Ways of provisioning a JBoss EAP server
You can provision a JBoss EAP server in the following ways:
- By using the
jboss-eap-installation-manager Use the
jboss-eap-installation-managerto install a server with only the required components.For more information, see Installing JBoss EAP using the jboss-eap-installation-manager.
- By using the JBoss EAP Maven plug-in
Use the JBoss EAP Maven plug-in,
eap-maven-plugin, when you want to use Maven tooling to provision a server. Typically, you would use the Maven plug-in when you want to package an application in a provisioned server. However, you can provision a server without packaging an application as well. Also, you can package the provisioned server as a bootable JAR. You can use the JBoss EAP Maven plug-in for both bare metal and OpenShift Container Platform source-to-image (S2I) use.For more information, see Provisioning a server by using the JBoss EAP Maven plug-in.
Chapter 2. Overview of JBoss EAP Maven plug-in Copy linkLink copied to clipboard!
The following chapter describes the JBoss EAP Maven plug-in and the different ways in which you can provision JBoss EAP by using the plug-in.
2.1. About JBoss EAP Maven plug-in Copy linkLink copied to clipboard!
The JBoss EAP Maven plug-in uses Galleon provisioning mechanism to provision a server with only the required capabilities to reduce the size and memory footprint of the server. The JBoss EAP Maven plug-in provisions the server and deploys the packaged application to the provisioned server during the Maven execution.
You can package the provisioned server, with the application deployed, in the following ways:
- Provisioned server: The directory target/server contains a server and application.
- Bootable jar: The server and the application are packaged as a Java Archive (JAR).
You can also choose whether to deploy the application in the provisioned server by configuring one of the supported goals:
package- Provision the server with the application deployed. Also, optionally execute JBoss EAP CLI script files to customize your server configuration. A CLI script includes a list of CLI commands for configuring the server. Additionally, you can add files into the server installation, such as a keystore file.
provision- Only provision the server. The provision goal does not deploy the application, and also does not execute JBoss EAP CLI script files.
JBoss EAP Maven plug-in syntax
The following snippet shows the basic syntax for configuring the JBoss EAP maven plug-in in the pom.xml configuration file.
<plugins>
<plugin>
<groupId>org.jboss.eap.plugins</groupId>
<artifactId>eap-maven-plugin</artifactId>
<version>${MavenPluginVersion}</version>
<configuration>
<channels>
<channel>
<manifest>
<groupId>org.jboss.eap.channels</groupId>
<artifactId>${channel_id}</artifactId>
</manifest>
</channel>
</channels>
<feature-packs>
<feature-pack>
<location>${featurepack_location}</location>
</feature-pack>
</feature-packs>
<layers>
<layer>${layer_1_to_include}</layer>
...
<layer>${layer_N_to_include}</layer>
</layers>
<bootable-jar>${true_or_false}</bootable-jar>
</configuration>
<executions>
<execution>
<goals>
<goal>${provision_or_package}</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
- 1
- See the Red Hat Maven repository for more information on JBoss EAP Maven plugin releases: org/jboss/eap/plugins/eap-maven-plugin/.
- 2
- This specifies the JBoss EAP 8.1 Beta channel in which the JBoss EAP server artifacts are defined. For example,
eap-8.1. - 3
- You can retrieve the version of this feature-pack from the JBoss EAP channel. The Galleon
feature-packincludes Galleon layers such ascloud-serverfor provisioning trimmed JBoss EAP servers. - 4
- Define the layers from the configured feature-packs to include in the provisioned server.
- 5
- Set this to
trueto package the provisioned server as a bootable JAR, otherwise set tofalseor don’t include the element. - 6
- Use the
provisiongoal to provision a server without the application deployed. Use thepackagegoal to provision the server with the application deployed, apply custom configured CLI scripts, and copy custom content into the server installation.
For a complete list of configuration options, see JBoss EAP Maven plug-in configuration parameters.
2.2. About the bootable JAR Copy linkLink copied to clipboard!
A bootable JAR contains a server, a packaged application, and the runtime required to launch the server.
A bootable JAR is like a standard JBoss EAP server in the following ways:
- It supports JBoss EAP common management CLI commands.
- It can be managed using the JBoss EAP management console.
The following limitations exist when packaging a server in a bootable JAR:
- CLI management operations that require a server restart are not supported.
- The server cannot be restarted in the admin-only mode, which is a mode that starts services related to server administration.
- If you shut down the server, updates that you applied to the server are lost.
- Bootable jar is not supported on OpenShift Container Platform when using the source-to-image (S2I) workflow. For information about S2I workflow, see Building application images using source-to-image in OpenShift.
Additionally, you can provision a hollow bootable JAR. This JAR contains only the server, so you can reuse the server to run a different application.
2.3. The Galleon provisioning file Copy linkLink copied to clipboard!
Provisioning files are XML files with the name provisioning.xml that you can store in the galleon subdirectory. Using them is an alternative to configuring feature-packs and layers in the JBoss EAP Maven plug-in. You can configure provisioning.xml file to fine-tune the provisioning process.
The following code demonstrates a provisioning file content that you can use to provision JBoss EAP server based on the cloud-server layer.
The JBoss EAP feature-packs don’t have versions, versions are retrieved from the configured channel in the Maven plug-in.
<?xml version="1.0" ?>
<installation xmlns="urn:jboss:galleon:provisioning:3.0">
<feature-pack location="org.jboss.eap:wildfly-ee-galleon-pack:">
<default-configs inherit="false"/>
<packages inherit="false"/>
</feature-pack>
<feature-pack location="org.jboss.eap.cloud:eap-cloud-galleon-pack:
">
<default-configs inherit="false"/>
<packages inherit="false"/>
</feature-pack>
<config model="standalone" name="standalone.xml">
<layers>
<include name="cloud-server"/>
</layers>
</config>
<options>
<option name="optional-packages" value="passive+"/>
</options>
</installation>
- 1
- This element instructs the provisioning process to provision the JBoss EAP feature-pack retrieved from the JBoss EAP channel.
- 2
- This element instructs the provisioning process to exclude default configurations. You can retrieve default configurations in JBoss EAP server installation, such as
standalone.xmlandstandalone-ha.xml. When you are provisioning JBoss EAP server from the JBoss EAP Maven plugin, generate a single server configuration based on the configured Galleon users. Setting the option tofalseprevents the generation of any additional server configurations. Settinginherit=trueis not supported for bothdefault-configsandpackages. - 3
- This element instructs the provisioning process to exclude default packages.
- 4
- This element instructs the provisioning process to provision the JBoss EAP cloud feature-pack. The child elements instruct the process to exclude default configurations and default packages.
- 5
- This element instructs the provisioning process to create a custom standalone configuration. The configuration includes the
cloud-serverbase layer defined in the JBoss EAP feature-pack and tuned for OpenShift by the JBoss EAP cloud feature-pack. - 6
- This element instructs the provisioning process to optimize provisioning of JBoss EAP modules.
Chapter 3. Provisioning a server by using the JBoss EAP Maven plug-in Copy linkLink copied to clipboard!
You can provision a server by using the JBoss EAP Maven plug-in both for bare metal and OpenShift Container Platform.
3.1. Provisioning a server for bare metal platforms by using the JBoss EAP Maven plug-in Copy linkLink copied to clipboard!
Traditionally, you would install JBoss EAP using one of the installation methods such as using the installation manager and then deploy applications to the server. Instead of having to first install the server, you can simply provision a server when you build your application with the application deployed to the provisioned server.
Prerequisites
You have created a Maven project for a JBoss EAP application.
For more information, see Creating a Maven project for a hello world application.
Procedure
Define the following property in the
pom.xmlconfiguration file:<properties> ... <version.plugin.eap>2.0.0.Beta1-redhat-00001</version.plugin.eap>1 </properties>- 1
<version.plugin.eap>is provided as an example. See the Red Hat Maven repository for more information on JBoss EAP Maven plugin releases: org/jboss/eap/plugins/eap-maven-plugin/. For JBoss EAP 8.1 Beta, the latest major 2.x version is required.
Add the JBoss EAP maven plugin to
<pluginManagement>, in<build>section inside the<project>section.<project> ... <build> <pluginManagement> <plugins> ... <plugin> <groupId>org.jboss.eap.plugins</groupId> <artifactId>eap-maven-plugin</artifactId> <version>${version.plugin.eap}</version> </plugin> </plugins> </pluginManagement> </build> </project>Add the
eap-maven-pluginin thepom.xmlconfiguration file. In the following examples, the plug-in is included within different profilesprovisioned-serverandbootable-jar.Create a profile for server provisioning.
<project> ... <profiles> ... <profile> <id>provisioned-server</id> <activation> <activeByDefault>true</activeByDefault>1 </activation> <build> <plugins> <plugin> <groupId>org.jboss.eap.plugins</groupId> <artifactId>eap-maven-plugin</artifactId> <configuration> <channels>2 <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> <artifactId>eap-8.1</artifactId> </manifest> </channel> </channels> <feature-packs> <feature-pack>3 <location>org.jboss.eap:wildfly-ee-galleon-pack</location> </feature-pack> </feature-packs> <layers>4 <layer>datasources-web-server</layer> </layers> </configuration> <executions> <execution> <goals> <goal>package</goal>5 </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>- 1
- Set
activeByDefaulttotrueto activate this profile by default. - 2
- Define the channels from which the feature-packs are to be fetched.
- 3
- Define the feature-packs that should be used. In this example,
org.jboss.eap:wildfly-ee-galleon-packfeature-pack is used. For information about the layers that this feature-pack includes, see wildfly-ee-galleon-pack layers. - 4
- Define the layers from the configured feature-packs to include in the provisioned server. This example uses datasources-web-server. For information about datasources-web-server, see datasources-web-server.
- 5
- Define the goal for provisioning the server. This example uses the
packagegoal which provisions the server with the application packaged. To provision a server without the application packaged, use theprovisiongoal.
Create a profile for bootable JAR.
<project> ... <profiles> ... <profile> <id>bootable-jar</id> <activation> <activeByDefault>true</activeByDefault>1 </activation> <build> <plugins> <plugin> <groupId>org.jboss.eap.plugins</groupId> <artifactId>eap-maven-plugin</artifactId> <configuration> <channels>2 <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> <artifactId>eap-8.1</artifactId> </manifest> </channel> </channels> <feature-packs> <feature-pack>3 <location>org.jboss.eap:wildfly-ee-galleon-pack</location> </feature-pack> </feature-packs> <layers>4 <layer>datasources-web-server</layer> </layers> <bootable-jar>true</bootable-jar>5 </configuration> <executions> <execution> <goals> <goal>package</goal>6 </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>- 1
- Set
activeByDefaulttotrueto activate this profile by default. - 2
- Define the channels from which the feature-packs are to be fetched.
- 3
- Define the feature-packs that should be used. In this example, org.jboss.eap:wildfly-ee-galleon-pack is used. For information about the layers that this feature-pack includes, see wildfly-ee-galleon-pack layers.
- 4
- Define the layers to provision the server with. This example uses datasources-web-server. For information about datasources-web-server, see datasources-web-server
- 5
- Provision the server as a bootable JAR.
- 6
- Define the goal for provisioning the server. This example uses the
packagegoal which provisions the server with the application packaged. To provision a server without the application packaged, setskipDeploymenttotrue.
NoteYou cannot use the
provisiongoal when you set the value of thebootable-jarattribute totrue.
- If your Maven project does not contain an application, create the application as usual, for example, see Creating a hello world servlet.
Provision the server by building the application.
$ mvn packageNoteIf you use the
mvn packagecommand with debugging enabled (-Xoption), include the property-Dorg.slf4j.simpleLogger.log.com.networknt.schema=offto prevent excessive debug logging during schema validation.
Verification
Start the application.
To start the application with the provisioned server, use the following commands:
Navigate to the directory containing the provisioned server.
$ cd target/server/standalone/binStart the server.
$ ./standalone.sh
To start the application as bootable JAR, use the
java -jarcommand:java -jar target/<application-name>.jar
3.2. Provisioning a server for OpenShift Container Platform by using the JBoss EAP Maven plug-in Copy linkLink copied to clipboard!
Provision a server for OpenShift Container Platform that only includes the required capabilities by using the JBoss EAP Maven plug-in.
Prerequisites
You have created a Maven project for a JBoss EAP application.
For more information, see Creating a Maven project for a hello world application.
Procedure
Define the following property in the
pom.xmlconfiguration file:<properties> ... <version.plugin.eap>2.0.0.Beta1-redhat-00001</version.plugin.eap>1 </properties>- 1
<version.plugin.eap>is provided as an example. See the Red Hat Maven repository for more information on JBoss EAP Maven plugin releases: org/jboss/eap/plugins/eap-maven-plugin/. For JBoss EAP 8.1 Beta, the latest major 2.x version is required.
Add the JBoss EAP maven plugin to
<pluginManagement>, in<build>section inside the<project>section.<project> ... <build> <pluginManagement> <plugins> ... <plugin> <groupId>org.jboss.eap.plugins</groupId> <artifactId>eap-maven-plugin</artifactId> <version>${version.plugin.eap}</version> </plugin> </plugins> </pluginManagement> </build> </project>Add the eap-maven-plugin in the
pom.xmlconfiguration file. In the following examples, the plug-in is included within theOpenShift Container Platformprofile.<profiles> <profile> <id>openshift</id> <build> <plugins> <plugin> <groupId>org.jboss.eap.plugins</groupId> <artifactId>eap-maven-plugin</artifactId>1 <configuration> <channels> <channel> <manifest> <groupId>org.jboss.eap.channels</groupId> <artifactId>eap-8.1</artifactId> </manifest> </channel> </channels> <feature-packs> <feature-pack>2 <location>org.jboss.eap:wildfly-ee-galleon-pack</location> </feature-pack> <feature-pack> <location>org.jboss.eap.cloud:eap-cloud-galleon-pack</location> </feature-pack> </feature-packs> <layers>3 <layer>cloud-server</layer> </layers> <name>ROOT.war</name>4 </configuration> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles>- 1
eap-maven-pluginis a JBoss EAP plug-in.- 2
- Define the feature-packs that should be used. In this example,
org.jboss.eap:wildfly-ee-galleon-packfeature-pack is used. For information about the layers that this feature-pack includes, see wildfly-ee-galleon-pack layers. Theorg.wildfly.cloud:wildfly-cloud-galleon-packfeature-pack is required for OpenShift. - 3
- Define the layers from the configured feature-packs to include in the provisioned server. This example uses the
cloud-serverlayer, which provisions just the basic features of JBoss EAP, for OpenShift. For information about thecloud-serverlayer, see cloud-server. - 4
<name>ROOT.war</name>: Defines the resulting name of the application’s web archive (WAR). IfROOT.waris specified then the application is deployed at the root path of the server, otherwise it is deployed at<name/>relative path.
ImportantBootable jar is not supported on OpenShift Container Platform.
- If your Maven project does not contain an application, create the application as usual, for example, see Creating a hello world servlet.
Provision the server by building the application.
$ mvn packageNoteIf you use the
mvn packagecommand with debugging enabled (-Xoption), include the property-Dorg.slf4j.simpleLogger.log.com.networknt.schema=offto prevent excessive debug logging during schema validation.
Verification
-
You can check the generated server configuration file
target/server/standalone/configuration/standalone.xmlthat contains the provisioned subsystems and application deployment.
The JBoss EAP server that contains your deployment has been provisioned.
Appendix A. Reference Copy linkLink copied to clipboard!
A.1. Base layers Copy linkLink copied to clipboard!
Each base layer includes core functionality for a typical server user case.
datasources-web-server
This layer includes a servlet container and the ability to configure a datasource.
The following are the JBoss EAP subsystems included by default in the datasources-web-server:
-
core-management -
datasources -
deployment-scanner -
ee -
elytron -
io -
jca -
jmx -
logging -
naming -
request-controller -
security-manager -
transactions -
undertow
The following Jakarta EE specifications are supported in this layer:
- Jakarta JSON Processing
- Jakarta JSON Binding
- Jakarta Servlet
- Jakarta Expression Language
- Jakarta Server Pages
- Jakarta Standard Tag Library
- Jakarta Concurrency
- Jakarta Annotations
- Jakarta XML Binding
- Jakarta Debugging Support for Other Languages
- Jakarta Transactions
- Jakarta Connectors
jaxrs-server
This layer enhances the datasources-web-server layer with the following JBoss EAP subsystems:
-
jaxrs -
weld -
jpa
This layer also adds an Infinispan-based second-level entity with local caching to the container.
The following Jakarta EE specifications are supported in this layer in addition to those supported in the datasources-web-server layer:
- Jakarta Contexts and Dependency Injection 2.0
- Jakarta Bean Validation 2.0
- Jakarta Interceptors 1.2
- Jakarta RESTful Web Services 2.1
- Jakarta Persistence 2.2
cloud-server
This layer enhances the jaxrs-server layer with the following JBoss EAP subsystems:
-
resource-adapters -
messaging-activemq(remote broker messaging, not embedded messaging)
This layer also adds the following observability features to the jaxrs-server layer:
- Native Health
- Native Metrics
The following Jakarta EE specification is supported in this layer in addition to those supported in the jaxrs-server layer:
- Jakarta Security 1.0
cloud-default-config
This layer provisions a server with server configuration based on standalone-ha.xml and includes the subsystem configuration messaging-activemq. On the contrary, the modcluster and core-management subsystems configuration are not included. This is configured to be used in the cloud. Additionally, all JBoss EAP server JBoss modules will be installed.
The cloud-default-config layer is defined by the eap-cloud-gallen-pack, which is only available on OpenShift Container Platform.
ee-core-profile-server
The ee-core-profile-server layer provisions a server with the Jakarta EE 10 Core Profile. The Core Profile provides a small, lightweight profile for users that provides both core JBoss EAP server functionality and Jakarta EE APIs. The ee-core-profile-server layer is best suited for smaller runtimes such as cloud-native applications and microservices.
You can also create custom layers. For more information, see Provisioning user-developed layers in JBoss EAP.
A.2. Supported Galleon layers for different deployment contexts Copy linkLink copied to clipboard!
While most Galleon layers are supported on both bare metal and OpenShift Container Platform deployments, some are specific to the deployment contexts. The following tables describe what layers are supported in deployment contexts.
| Layer | Type | Description | Bare metal | Bare metal bootable JAR | OpenShift Container Platform |
|---|---|---|---|---|---|
| datasources-web-server | Base | A servlet container with support for datasources. | Yes | Yes | Yes |
| jaxrs-server | Base |
An extension of the | Yes | Yes | Yes |
| cloud-server | Base |
An extension of the | Yes | Yes | Yes |
| ee-core-profile-server | Base | A Jakarta EE Core Profile server. | Yes | Yes | Yes |
| observability | Decorator | Support for MicroProfile monitoring features. | Yes | Yes | Yes |
| web-clustering | Decorator | Support for distributable web applications. Configures a non-local Infinispan-based container web cache for data session handling suitable to clustering environments. | Yes | Yes | Yes |
| ejb | Decorator | Support for Jakarta Enterprise Beans, excluding the IIOP protocol. | Yes | Yes | Yes |
| ejb-lite | Decorator | Support for Jakarta Enterprise Beans Lite. | Yes | Yes | Yes |
| ejb-local-cache | Decorator | Infinispan-based local cache for stateful session beans. | Yes | Yes | Yes |
| ejb-dist-cache | Decorator | Infinispan-based distributed cache for stateful session beans. | Yes | Yes | Yes |
| elytron-oidc-client | Decorator | Provides a native OIDC client in JBoss EAP to connect with OpenID providers. | Yes | Yes | Yes |
| embedded-activemq | Decorator |
Support for an embedded Apache Activemq Artemis Jakarta Messaging broker. Alternative to the | Yes | No | Yes |
| jdr | Decorator | Support for the JBoss Diagnostic Reporting (JDR) subsystem. | Yes | Yes | Yes |
| jpa | Decorator |
Support for JPA (using the latest JBoss EAP supported Hibernate release). Alternative: | Yes | Yes | Yes |
| jpa-distributed | Decorator | Support for JPA with a distributed second level cache. Alternative: jpa | Yes | Yes | Yes |
| jsf | Decorator | Support for Jakarta Faces. | Yes | Yes | Yes |
| remote-activemq | Decorator | Support for connections to a remote Apache Activemq Artemis Jakarta Messaging broker. Alternative: embedded-activemq | Yes | Yes | Yes |
| web-console | Decorator | Support for loading the HAL web console from the /console context on the HTTP management interface. Not required to use a HAL console obtained independently and configured to connect to the server. | Yes | Yes | Yes |
| webservices | Decorator | Support for Jakarta XML Web Services. | Yes | Yes | Yes |
| Layer | Type | Description | Bare metal | Bare metal bootable JAR | OpenShift Container Platform |
|---|---|---|---|---|---|
| cloud-default-config | Base | Provisions a server with server configuration based on standalone-ha.xml and includes the subsystem configuration messaging-activemq. | Not applicable | Not applicable | Yes |
| Layer | Type | Description | Bare metal | Bare metal bootable JAR | OpenShift Container Platform |
|---|---|---|---|---|---|
| myfaces | Decorator |
Provides | Yes | Yes | Yes |
The feature-pack only provides MyFaces-specific integration classes and not the MyFaces artifacts. You must specify the Maven artifact version for MyFaces by either using the environment variable MYFACES_VERSION or system property org.jboss.eap.jsf.myfaces.version. You can find the version for org.apache.myfaces.core:myfaces-impl, which is the groupID:artifactID for MyFaces, at Apache MyFaces Core 4.1 Impl.
During provisioning, the MyFaces artifacts will be retrieved from a Maven repository. If the MyFaces artifacts for the given version are not present in the repository, or you do not specify the version, the provisioning will fail. Also, if the MyFaces version is not Jakarta EE-compatible, provisioning will succeed, but the deployment will fail due to missing classes.
| Layer | Type | Description | Bare metal | Bare metal bootable JAR | OpenShift Container Platform |
|---|---|---|---|---|---|
| keycloak-saml | Decorator |
Use this layer for Source to Image (s2i) with automatic registration of the SAML client. You must use this layer along with the | No | No | Yes |
| keycloak-client-saml | Decorator |
Use this layer for web-applications on bare metal, and for Source to Image (s2i) with | Yes | Yes | No |
| keycloak-client-saml-ejb | Decorator | Use this layer for applications where you want to propagate identities to Jakarta Enterprise Beans. | Yes | Yes | No |
| Layer | Type | Description | Bare metal | Bare metal bootable JAR | OpenShift Container Platform |
|---|---|---|---|---|---|
| postgresql-driver | Decorator |
This installs a JBoss EAP module for the PostgreSQL driver and adds a driver resource to the | Yes | Yes | Yes |
| postgresql-datasource | Decorator |
This is built upon the | Yes | Yes | Yes |
| mssql-driver | Decorator |
This installs a JBoss EAP module for the Microsoft SQL server driver and adds a driver resource to the | Yes | Yes | Yes |
| mssql-datasource | Decorator |
This is built upon the | Yes | Yes | Yes |
| oracle-driver | Decorator |
This installs a JBoss EAP module for the Oracle database driver and adds a driver resource to the | Yes | Yes | Yes |
| oracle-datasource | Decorator |
This is built upon the | Yes | Yes | Yes |
No specific driver version is included in the feature-pack. Before you provision your server, you have to specify the driver version.
Example
POSTGRESQL_DRIVER_VERSION="42.2.19"- The driver-specific environment variables are defined within their specific driver documentation.
For more information, see the following resources:
JBoss EAP XP-specific layers
This following feature-packs and layers are only available with JBoss EAP XP.
| Layer | Type | Description | Bare metal | Bare metal bootable JAR | OpenShift Container Platform |
|---|---|---|---|---|---|
| microprofile-platform | Decorator | This layer includes MicroProfile capabilities:
| Yes | Yes | Yes |
| microprofile-lra-coordinator | Decorator | Provides MicroProfile Long Running Actions (LRA) capability and MicroProfile LRA coordinator. The MicroProfile LRA coordinator is responsible for starting, managing, and recovery of the LRAs. | Yes | Yes | Yes |
| microprofile-lra-participant | Decorator | Provides MicroProfile Long Running Actions (LRA) capability and the client library used in user deployments to participate in the distributed MicroProfile LRAs, and define compensation and completion callbacks. | Yes | Yes | Yes |
| microprofile-reactive-messaging-kafka | Decorator | This layer provides MicroProfile Reactive Messaging capability along with an Apache Kafka connector to integrate MicroProfile Reactive Messaging with external messaging systems. | Yes | Yes | Yes |
| microprofile-reactive-messaging-amqp | Decorator | This layer provides MicroProfile Reactive Messaging capability along with an Advanced Message Queuing Protocol (AMQP) connector to integrate MicroProfile Reactive Messaging with external messaging systems. | Yes | Yes | Yes |
| Layer | Type | Description | Bare metal | Bare metal bootable JAR | OpenShift Container Platform |
|---|---|---|---|---|---|
| cloud-default-mp-config | Base |
This layer provisions a server with standalone configuration based on the This layer is only available with JBoss EAP XP. | No | No | Yes |
A.3. JBoss EAP Maven plug-in configuration parameters Copy linkLink copied to clipboard!
You can configure the eap-maven-plugin Maven plug-in by setting the following list of configuration parameters.
| Name | Type | Description |
|---|---|---|
| bootable-jar | boolean |
Set the value to |
| bootable-jar-install-artifact-classifier | String | When <bootable-jar> is set to true, the bootable JAR artifact is attached to the project with the classifier 'bootable'. Use this parameter to configure the classifier. |
| bootable-jar-name | String |
Set the name to be used for the jar file when the |
| channels | List | A list of channel YAML file references. A channel file contains the versions of the JBoss EAP server artifacts. There are two ways to identify a channel YAML file.
|
|
| List |
A list of Galleon layers to exclude. You can use it when |
|
| List | A list of directories from which content is copied to the provisioned server. You can use either the absolute path to the directory or the relative path. The relative path must be relative to the project base directory. |
|
| List |
A list of feature-pack configurations to install, which you can combine with layers. Use the system property |
|
| String |
The file name of the application to deploy. The default value is |
|
| Map |
When provisioning the server, you can set specific Galleon options. If you are building a large number of servers in the same Maven session, you must set
|
|
| List |
A list of Galleon layers to provision. You can use it when |
|
| String |
A name of the configuration file generated from layers. The default value is |
|
| boolean |
Specifies whether to log the provisioning time at the end of the provisioning. The default value is |
|
| String | A name used for the deployment. |
|
| boolean |
Specifies whether to use offline mode when the plug-in resolves an artifact. In offline mode, the plug-in uses the local Maven repository for artifact resolution. The default value is |
|
| boolean |
If you want to delete the existing server referenced from the |
|
| List | A list of CLI scripts and commands to execute. If a script file is not absolute, it must be relative to the project base directory. Configure the CLI executions in the following way:
|
|
| String |
Path to the directory in which to provision the server. It can be an absolute path or a path relative to the |
|
| File |
The path to the |
|
| boolean |
Specifies whether to record the provisioning state in |
|
| String |
The runtime-name of the deployment. The default value is the deployment file name, such as |
|
| String |
The name of the server configuration to use during deployment. The deployment is deployed inside the configuration referenced from |
|
| boolean |
If you want the goal to be skipped, set it to |
|
| boolean |
Set the value to Note
To package a server as a hollow bootable JAR, a bootable JAR without any application, set this to
The default value is |
|
| String |
Indicates how
|
| Name | Type | Description |
|---|---|---|
| channels | List | A list of channel YAML file references. A channel file contains the versions of the JBoss EAP server artifacts. There are two ways to identify a channel YAML file.
|
|
| List |
A list of Galleon layers to exclude. You can use it when |
|
| List |
A list of feature-pack configurations to install, which you can combine with layers. Use the system property |
|
| Map |
When provisioning the server, you can set specific Galleon options. If you are building a large number of servers in the same Maven session, you must set
|
|
| List |
A list of Galleon layers to provision. You can use it when |
|
| String |
A name of the configuration file generated from layers. The default value is |
|
| boolean |
Specifies whether to log the provisioning time at the end of the provisioning. The default value is |
|
| boolean |
Specifies whether to use offline mode when the plug-in resolves an artifact. In offline mode, the plug-in uses the local Maven repository for artifact resolution. The default value is |
|
| boolean |
If you want to delete the existing server referenced from the |
|
| String |
Path to the directory in which to provision the server. It can be an absolute path or a path relative to the |
|
| File |
The path to the |
|
| boolean |
Specifies whether to record the provisioning state in |
|
| boolean |
If you want the goal to be skipped, set it to |
A.4. Bootable JAR arguments Copy linkLink copied to clipboard!
View the arguments in the following table to learn about supported arguments for use with the bootable JAR.
| Argument | Description |
|---|---|
|
| Displays the help message for the specified command and exit. |
|
| Specifies the path to a JBoss CLI script that executes when starting the bootable JAR. If the path specified is relative, the path is resolved against the working directory of the Java VM instance used to launch the bootable JAR. |
|
| Argument specific to the hollow bootable JAR. Specifies the path to the WAR, JAR, EAR file or exploded directory that contains the application you want to deploy on a server. |
|
| Print the content of the generated Galleon configuration file. |
|
|
By default, the JVM settings are used to create a TEMP directory after the bootable JAR is started. You can use the |
|
| Runs the server with a security manager installed. |
|
|
Set system property |
|
|
Set system property |
|
| Specifies system properties that are set by the server at server runtime. The bootable JAR JVM does not set these system properties. |
|
| Loads system properties from a specified URL. |
|
| Set a security property. |
|
|
Set system property |
|
| Display the application server version and exit. |