Chapter 3. Application Migration
You can migrate your applications created for an older release of JBoss EAP XP to JBoss EAP XP 6.0.
3.1. MicroProfile application migration Copy linkLink copied to clipboard!
MicroProfile 7.0 includes updates to all major MicroProfile specifications, and the following which might include API-incompatible changes:
- MicroProfile OpenAPI
You might need to update your applications to use the latest MicroProfile OpenAPI specification.
3.2. Migrate a Maven project for a JBoss EAP application to JBoss EAP XP 6.0 Copy linkLink copied to clipboard!
When migrating a JBoss EAP XP application’s Maven project to JBoss EAP XP 6.0, you might need to update the pom.xml file due to the following changes:
If you migrate an application to JBoss EAP XP 6.0 without updating the configuration, it might build with incorrect dependencies and fail to deploy.
3.2.1. Incompatible JBoss EAP XP and JBoss EAP component versions Copy linkLink copied to clipboard!
When updating the pom.xml file for a JBoss EAP XP 6.0 Maven project, you must update the Maven version coordinates for the following components:
- JBoss EAP XP BOMs
- JBoss EAP BOMs
- JBoss EAP Maven Plugin
You can find the latest compatible versions of JBoss EAP components in the Red Hat’s GA Maven Repository.
Use the following guidelines to determine the latest compatible version for each component:
-
For a JBoss EAP XP BOM, use the latest
6.0.x.GA-redhat-*version, where x matches the JBoss EAP XP 6.0.x version. For example,6.0.0.GA-redhat-00001. -
For a JBoss EAP BOM, use the latest
8.1.x.GA-redhat-*version, where x matches the JBoss EAP 8.1.x version. For example,8.1.0.GA-redhat-00006. -
For the JBoss EAP Maven Plugin, use the latest
2.0.x.Final-redhat-*version. For example,2.0.0.Final-redhat-00003.
3.2.2. Renaming of the JBoss EAP MicroProfile BOM Copy linkLink copied to clipboard!
The JBoss EAP MicroProfile BOM has been renamed to JBoss EAP Expansion, and its Maven coordinates have changed from org.jboss.bom:jboss-eap-xp-microprofile to org.jboss.bom:jboss-eap-expansion.
You can identify the use of the previous BOM in a Maven project pom.xml file by the following dependency management import:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.bom</groupId>
<artifactId>jboss-eap-xp-microprofile</artifactId>
<version>${version.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
The Maven project pom.xml file must import the JBoss EAP Expansion BOM in the dependency management section instead of the previous JBoss EAP MicroProfile BOM:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.bom</groupId>
<artifactId>jboss-eap-expansion</artifactId>
<version>${version.bom}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
3.2.3. Changes in JBoss EAP XP and JBoss EAP channel manifests coordinates Copy linkLink copied to clipboard!
When updating your Maven project pom.xml file for JBoss EAP XP 6.0, you must update the artifactId coordinates for the JBoss EAP XP and JBoss EAP channel manifests as follows:
-
Replace
eap-8.0witheap-8.1 -
Replace
eap-xp-5.0witheap-xp-6.0
For example, the following JBoss EAP channel manifests are used in the JBoss EAP Maven Plugin configuration:
<plugin>
<groupId>org.jboss.eap.plugins</groupId>
<artifactId>eap-maven-plugin</artifactId>
<configuration>
<channels>
<channel>
<manifest>
<groupId>org.jboss.eap.channels</groupId>
<artifactId>eap-8.0</artifactId>
</manifest>
</channel>
<channel>
<manifest>
<groupId>org.jboss.eap.channels</groupId>
<artifactId>eap-xp-5.0</artifactId>
</manifest>
</channel>
</channels>
</configuration>
</plugin>
When migrating to JBoss EAP XP 6.0, update the configuration as follows:
<plugin>
<groupId>org.jboss.eap.plugins</groupId>
<artifactId>eap-maven-plugin</artifactId>
<configuration>
<channels>
<channel>
<manifest>
<groupId>org.jboss.eap.channels</groupId>
<artifactId>eap-8.1</artifactId>
</manifest>
</channel>
<channel>
<manifest>
<groupId>org.jboss.eap.channels</groupId>
<artifactId>eap-xp-6.0</artifactId>
</manifest>
</channel>
</channels>
</configuration>
</plugin>
3.3. Migrate from MicroProfile OpenTracing to OpenTelemetry Tracing Copy linkLink copied to clipboard!
MicroProfile OpenTracing is not supported in JBoss EAP XP 6.0 and is replaced by OpenTelemetry tracing.
To replace MicroProfile OpenTracing with OpenTelemetry Tracing, follow these steps:
-
Replace the dependency
org.eclipse.microprofile.opentracing:microprofile-opentracing-apiwithio.opentelemetry:opentelemetry-apiandio.opentelemetry:opentelemetry-context. -
Replace the usage of the
org.eclipse.microprofile.opentracingJava package with theio.opentelemetryJava package. Such replacement might involve additional changes to classes and methods.
3.4. Migrate from MicroProfile Metrics to Micrometer Copy linkLink copied to clipboard!
MicroProfile Metrics is not supported in JBoss EAP XP 6.0 and is replaced by Micrometer.
To replace MicroProfile Metrics with Micrometer, follow these steps:
-
Replace the dependency
org.eclipse.microprofile.metrics:microprofile-metrics-apiwithio.micrometer:micrometer-core. -
Replace the usage of the
org.eclipse.microprofile.metricJava package with theio.micrometerJava package. Such replacement might involve additional changes to classes and methods.
3.5. Migrate to MicroProfile Telemetry Copy linkLink copied to clipboard!
MicroProfile Telemetry is the supported metrics system. While you can run multiple metrics systems at the same time (e.g., MicroProfile Telemetry, WildFly Metrics, and Micrometer), this will result in decreased server performance.
3.6. Micrometer in JBoss EAP XP Copy linkLink copied to clipboard!
Micrometer integration in JBoss EAP XP 6.0 introduces a vendor-neutral observability layer with a reusable API for registering and tracking performance metrics across applications. This extension integrates with Micrometer, allowing deployed applications to access its API and display application-specific metrics alongside the server metrics provided by the extension.
JBoss EAP uses the existing metrics subsystem. You must manually add and configure this extension. When migrating from JBoss EAP XP 4 to JBoss EAP XP 5, users encountered a gap due to the removal of MicroProfile Metrics and its replacement with Micrometer, which initially supported only OpenTelemetry Protocol (OTLP) push-based export.
JBoss EAP XP 6.0 introduces support for two Micrometer export options:
- OTLP push export, for integration with OpenTelemetry-based observability platforms.
- Prometheus pull export, which exposes a Prometheus-compatible scrape endpoint.
These options provide flexibility for integrating with different observability tools and simplify migration for Prometheus-based environments.
To support Prometheus integration, JBoss EAP XP 6.0 includes a Prometheus registry for Micrometer. This addition enables a pull-based scraping option alongside the existing OTLP push path. As a result, applications can expose metrics in a format that is compatible with Prometheus without requiring an external collector-side translation.
The Micrometer subsystem in JBoss EAP XP 6.0 continues to support OTLP (push) export and adds a Prometheus (pull) registry to support Prometheus-based scraping workflows.
To avoid duplicate data collection and performance overhead, do not enable multiple metric exporters concurrently. For example, avoid running WildFly Metrics with Micrometer, or running Micrometer with both OTLP and Prometheus exporters enabled at the same time.