JBoss EAP XP 6.0 upgrade and migration guide
Guidance for upgrading and migrating from JBoss EAP XP 5.0.x to JBoss EAP XP 6.0
Abstract
Making open source more inclusive Copy linkLink copied to clipboard!
Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.
Providing feedback on JBoss EAP documentation Copy linkLink copied to clipboard!
To report an error or to improve our documentation, log in to your Red Hat Jira account and submit an issue. If you do not have a Red Hat Jira account, then you will be prompted to create an account.
Procedure
- Click the following link to create a ticket.
- Enter a brief description of the issue in the Summary.
- Provide a detailed description of the issue or enhancement in the Description. Include a URL to where the issue occurs in the documentation.
- Clicking Submit creates and routes the issue to the appropriate documentation team.
Chapter 1. JBoss EAP XP upgrades Copy linkLink copied to clipboard!
1.1. Upgrades and migrations Copy linkLink copied to clipboard!
Use the steps outlined in the JBoss EAP XP 6.0 upgrade and migration guide to prepare, upgrade, and migrate your JBoss EAP XP 5.0 product to the JBoss EAP XP 6.0 product. JBoss EAP XP 6.0 is compatible with only JBoss EAP 8.1. If you operate servers on JBoss EAP 8.0 and you want to install the JBoss EAP XP 6.0 on it, you must first upgrade your JBoss EAP 8.0 instance to JBoss EAP 8.1.
The guide references tools that you can use for the upgrading and migration process. These tools are as follows:
- Migration Toolkit for Applications (MTA)
- JBoss Server Migration Tool
After you successfully upgrade and migrate JBoss EAP XP 5.0 release to JBoss EAP XP 6.0, you can begin to implement any application migrations for your JBoss EAP 8.1 instance.
1.2. Preparation for upgrade and migration Copy linkLink copied to clipboard!
After you upgrade the JBoss EAP Expansion Pack, you might have to update application code.
For JBoss EAP XP 6.0, some backward compatibility might exist for JBoss EAP XP 5.0 applications. However, if your application uses features that were deprecated or functionality that was removed from JBoss EAP XP 6.0, you might need to make changes to your application code.
Review the following new items before you begin the migration process:
- JBoss EAP XP features added in the JBoss EAP XP 6.0 release.
- MicroProfile capabilities added in the JBoss EAP XP 6.0 release.
- Enhancements to existing MicroProfile capabilities.
- Capabilities and features that are deprecated in the JBoss EAP XP 6.0.
- Capabilities and features that have been removed from JBoss EAP XP 6.0.
- Tools that you can use to migrate from one EAP XP release to another release.
After you have reviewed the listed items, analyze your environment and plan for the upgrade process and migration process. Ensure you back up any applications that you plan to migrate to JBoss EAP XP 6.0.
You can now upgrade your current JBoss EAP XP 5.0 release to JBoss EAP XP 6.0. You can implement any application migrations after the upgrade process.
1.3. Enhancements to MicroProfile capabilities Copy linkLink copied to clipboard!
The JBoss EAP XP 6.0 release includes support for the following MicroProfile 7.0 components:
- MicroProfile Config
- MicroProfile Fault Tolerance
- MicroProfile Health
- MicroProfile JWT
- MicroProfile OpenAPI
- MicroProfile Telemetry
- MicroProfile REST Client
1.4. Deprecated and unsupported MicroProfile capabilities Copy linkLink copied to clipboard!
Before you migrate your application to JBoss EAP XP 6.0 be aware that some features that were available in JBoss EAP XP 5.0.x might be deprecated or no longer supported.
Red Hat removed support for some technologies due to the high maintenance cost, low community interest, and much better alternative solutions.
Ensure that you review the Red Hat JBoss EAP XP 6.0 release notes and the Release notes for Red Hat JBoss Enterprise Application Platform 8.1 for any unsupported and deprecated features.
Chapter 2. Tools for migrating from JBoss EAP XP 5.0 servers to JBoss EAP XP 6.0 servers Copy linkLink copied to clipboard!
You can choose one of the following tools to upgrade and migrate your JBoss EAP XP 5.0 product to the JBoss EAP XP 6.0 product:
- Migration Toolkit for Applications (MTA)
- JBoss Server Migration Tool
2.1. Use the JBoss Server Migration Tool to migrate your server configurations Copy linkLink copied to clipboard!
Use the JBoss Server Migration Tool when updating your server configuration to include the new features and settings of JBoss EAP XP 6.0. You can keep your existing JBoss EAP XP 5.0 server configuration, provided that JBoss EAP XP 6.0 supports the configurations.
The JBoss Server Migration Tool reads your existing JBoss EAP XP 5.0 server configuration files and adds any new required subsystems to these files. The tool also updates existing subsystem configurations with new features, and removes any obsolete subsystem configurations.
You can use the JBoss Server Migration Tool to migrate standalone servers for your JBoss EAP XP 6.0 configuration.
JBoss EAP XP 6.0 does not include the JBoss Server Migration Tool, so you need to download the tool from the JBoss EAP XP download page.
2.2. Use the Migration Toolkit for Applications to analyze applications for migration Copy linkLink copied to clipboard!
The Migration Toolkit for Applications (MTA) includes extensible and customizable rule-based tools that simplify migration of Jakarta applications. You can use the toolkit to analyze an application’s APIs, technologies, and architectures. The toolkit provides reports for the application you plan to migrate from JBoss EAP XP 5.0 to JBoss EAP XP 6.0.
The MTA reports output the following information:
- Detailed explanations of all required migration changes.
- Whether the change is mandatory or optional.
- Whether the change is complex or simple.
- Links to code that requires a migration update.
- Hints and links to information for helping you complete the required migration changes.
- An estimate of the level of effort for each migration issue found and the total estimated effort to migrate the application.
You can also use MTA to analyze the code and architecture of your JBoss EAP XP 5.0 applications before you migrate them to JBoss EAP XP 6.0. The MTA rule set for migrating applications from JBoss EAP XP 5.0 to JBoss EAP XP 6.0 reports on XML descriptors, specific application code, and parameters, that you need to replace with alternative configurations when migrating to JBoss EAP XP 6.0.
Chapter 3. Application Migration Copy linkLink copied to clipboard!
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.