Chapter 1. New features and enhancements

1.1. Migration

Migration tools

You can choose any one of the following tools to upgrade and migrate your JBoss EAP XP 2.0.0 product to the JBoss EAP XP 3.0.0 product:

  • JBoss Server Migration Tool
  • Migration Toolkit for Applications (MTA)

You cannot use the JBoss EAP XP manager to upgrade and migrate your JBoss EAP XP 2.0.0 product to the JBoss EAP XP 3.0.0 product.

Additional resources

Name change for a configuration element

For JBoss EAP XP 3.0.0, the extraServerContentDirs configuration element replaces the extraServerContent configuration element. This replacement aligns with the pre-existing extra-server-content-dirs element.

If you used the extraServerContent element in your JBoss EAP Maven plug-in configuration, you must replace this element with the extraServerContentDirs element. If you used the extra-server-content-dirs element then you do not need to make any configuration changes.

Additional resources

1.2. MicroProfile

Support for MicroProfile 4.0

JBoss EAP XP 3.0 is compatible with MicroProfile 4.0 specifications.

Support for MicroProfile Config 2.0

JBoss EAP supports MicroProfile Config 2.0, which is part of MicroProfile 4.0. This Config interface introduces new methods.

For more information about the changes, see Release Notes for MicroProfile Config 2.0.

Support for MicroProfile Metrics 3.0

JBoss EAP supports MicroProfile Metrics 3.0, which is part of MicroProfile 4.0. The breaking changes of the new release include the following :

  • Removed everything related to reusability from the API code. All metrics are now considered reusable.
  • Changed metric registration. The CDI producers annotated with @Metric no longer trigger metric registration. You must use the MetricRegistry methods for registering a metric.
  • Changed MetricRegistry from abstract class to interface.

For a complete list of changes, see Changes in 3.0.

Support for MicroProfile Health 3.0

JBoss EAP supports MicroProfile Health 3.0, which is part of MicroProfile 4.0. The major changes are the following:

  • Pruned @Health qualifier
  • Fixed HealthCheckResponse deserialization issue

This component upgrade also covers the upgrade of smallrye-health 3.0.0 that implements MicroProfile Health 3.0. For more information, see Release Notes for MicroProfile Health 3.0.

Support for MicroProfile OpenTracing 2.0

JBoss EAP supports MicroProfile OpenTracing 2.0, which is part of MicroProfile 4.0. The new release removes the following APIs:

  • Scope = ScopeManager.active()
  • Scope = ScopeManager.activate(Span, boolean)
  • Span = Scope.span()
  • Scope = SpanBuilder.startActive()
  • Span = Tracer.startManual()
  • AutoFinishScopeManager

For more information, see Release 2.0.

Support for MicroProfile Fault Tolerance 3.0

JBoss EAP supports MicroProfile Fault Tolerance 3.0, which is part of MicroProfile 4.0. The new release has the following breaking changes:

  • Metric names and scopes changed. MicroProfile Metrics 2.0 added metric tags, and as a result, some information, previously included in the metric name, is now included in tags.
  • Life cycle of circuit breakers and bulkheads is specified. The circuit breakers and bulkheads hold state between invocations, so their life cycle is important for correct functioning.

For more information, see Release Notes for MicroProfile Fault Tolerance 3.0.

1.3. Bootable JAR

Ability to update the server configuration of a bootable JAR file at runtime

You can now update the server configuration of a bootable JAR file at runtime using the --cli-script=<path to CLI script> argument. In the argument, <path to CLI script> means the path to a JBoss CLI script, a text file in Unicode Transformation Format 8-bit (UTF-8), to execute when starting the bootable JAR.

This new functionality has the following caveats:

  • If you perform any operation that requires a server restart, the bootable JAR server exits, which is the normal behavior of a bootable JAR restart.
  • You cannot execute the following JBoss CLI commands at runtime: connect, reload, shutdown, jdbc-driver-info, and any command related to embedded server and patch.

Ability to upgrade bootable JAR server components

You can upgrade the following server components present in a bootable JAR when building the JAR file from the bootable JAR maven plugin:

  • The JAR files for JBoss Modules module, such as undertow-core.
  • EAP 7.4.x Galleon feature-pack, which is a dependency of the XP 3.0.x Galleon feature-pack.

1.4. Quickstarts

OpenShift quickstarts

Quickstarts released in JBoss EAP XP 1.0.0 to support OpenShift were Tech Preview.

As of JBoss EAP XP 3.0.0, these quickstarts are fully supported.

MicroProfile quickstarts for the bootable JAR

JBoss EAP XP 3.0.0 provides MicroProfile quickstarts that you can use to understand the bootable JAR feature.

Each quickstart provides a small, specific, working bootable JAR example. Use the quickstarts to run and test bootable JAR examples on your chosen platform.

Note

MicroProfile quickstarts cannot be used to build and test a hollow bootable JAR.

Use the following MicroProfile quickstarts to test the bootable JAR on either a bare-metal platform or an OpenShift platform:

  • MicroProfile Config
  • MicroProfile Fault Tolerance
  • MicroProfile Health
  • MicroProfile JWT
  • MicroProfile Metrics
  • MicroProfile OpenAPI
  • MicroProfile OpenTracing
  • MicroProfile REST Client

Quickstart for MicroProfile Reactive Messaging 1.0

JBoss EAP XP 3.0.0 provides a new quickstart and guide for MicroProfile Reactive Messaging 1.0 that describes the basic functionalities.

You can use in-memory streams and streams backed by the Apache Kafka platform. If you are using a bare metal system, you can use the Docker platform to access Apache Kafka functionalities. On OpenShift, you can access Apache Kafka functionalities using the AMQ Streams operator.

1.5. Technology preview features

MicroProfile Reactive Messaging 1.0 for AMQ Streams integration

JBoss EAP XP now supports MicroProfile Reactive Messaging 1.0. You can use the MicroProfile Reactive Messaging 1.0 APIs to interact with AMQ Streams 2021.Q2. That means, with JBoss EAP XP working as a message relayer, you can consume, process, and produce messages within your application. This technology preview functionality is available on OpenShift Container Platform.