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 3.0.0 product to the JBoss EAP XP 4.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 3.0.0 product to the JBoss EAP XP 4.0.0 product.

Additional resources

1.2. MicroProfile

Support for MicroProfile 4.1

JBoss EAP XP 4.0 is compatible with MicroProfile 4.1 specifications.

Support for MicroProfile OpenAPI 2.0

JBoss EAP supports MicroProfile OpenAPI 2.0, which is part of MicroProfile 4.1. For more information about the changes see Release Notes for MicroProfile OpenAPI 2.0.

Support for MicroProfile Config 2.0

JBoss EAP supports MicroProfile Config 2.0, which is part of MicroProfile 4.1. 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.1. 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.

Note

MicroProfile Metrics is being deprecated because it might be removed or updated by the Eclipse MicroProfile community.

Support for MicroProfile Health 3.1

JBoss EAP supports MicroProfile Health 3.1, which is part of MicroProfile 4.1. One major change for this release includes the addition of the new Startup health check probe.

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

Support for MicroProfile OpenTracing 2.0

JBoss EAP supports MicroProfile OpenTracing 2.0, which is part of MicroProfile 4.1. 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.

Note

MicroProfile OpenTracing is being deprecated because it might be removed or updated by the Eclipse MicroProfile community. For tracing, you can use OpenTelemetry Tracing. For more information, see Support for OpenTelemetry Tracing.

Support for MicroProfile Fault Tolerance 3.0

JBoss EAP supports MicroProfile Fault Tolerance 3.0, which is part of MicroProfile 4.1. 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.

Support for MicroProfile reactive messaging 2.0

When you upgrade to JBoss EAP XP 4.0.0, you can now enable the newest version of MicroProfile Reactive Messaging, which includes reactive messaging extensions and subsystems. After you upgrade your instance, you can do the following:

  • Provision a server with MicroProfile Reactive Messaging for the Apache Kafka data-streaming platform; for example, the Red Hat OpenShift Streams for Apache Kafka server, or the Red Hat AMQ Streams server. For more information, see Red Hat OpenShift Streams for Apache Kafka or Red Hat AMQ.
  • Interact with reactive messaging in-memory and backed by Apache Kafka topics through the latest reactive messaging APIs.
  • Use MicroProfile Metrics to find out how many messages are streamed on a given channel.

For more information, see Release Notes for MicroProfile Reactive Messaging 2.0.

1.3. Native OpenID Connect client

You can now secure applications deployed to JBoss EAP XP with OpenID Connect (OIDC) using the new native support for OIDC instead of installing the previously required Keycloak client adapter. The new elytron-oidc-client subsystem provides native support. The Keycloak adapter is deprecated in this release. For information about the native OpenID Connect (OIDC) client, see OpenID Connect in JBoss EAP.

1.4. OpenShift images

OpenJDK11 OpenShift images support multiple architectures

OpenJ9 images for IBM Z and IBM Power Systems will be deprecated. The following OpenJDK11 Builder and Runtime images have been updated to support multiple architectures:

  • jboss-eap-7/eap-xp4-openjdk11-openshift-rhel8 (Builder image)
  • jboss-eap-7/eap-xp4-openjdk11-runtime-openshift-rhel8 (Runtime image)

You can use the OpenJDK11 images with the following architectures:

  • x86 (x86_64)
  • s390x (IBM Z)
  • ppc64le (IBM Power Systems)

If you want to use the OpenJ9 Java Virtual Machine (JVM) with the OpenJDK11 images, see Java Change in Power and Z OpenShift Images.

1.5. Red Hat JBoss Enterprise Application Platform metering labels for Red Hat OpenShift

You can add metering labels to your Red Hat JBoss Enterprise Application Platform pods and check Red Hat subscription details with the OpenShift Metering Operator.

Note
  • Do not add metering labels to any pods that an operator or a template deploys and manages.
  • You can apply labels to pods using the Metering Operator on OpenShift Container Platform version 4.8 and earlier. From version 4.9 onward, the Metering Operator is no longer available without a direct replacement.

Red Hat JBoss Enterprise Application Platform can use the following metering labels:

  • com.company: Red_Hat
  • rht.prod_name: Red_Hat_Runtimes
  • rht.prod_ver: YYYY-Q1
  • rht.comp: EAP
  • rht.comp_ver: <not_applicable>
  • rht.subcomp: <not_applicable>
  • rht.subcomp_t: application

1.6. Technology Preview features

Important

The following configurations and features are provided as a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information about the support scope of Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview .

MicroProfile Reactive Messaging 2.0.1 for AMQ Streams integration

MicroProfile Reactive Messaging 2.0.1 for AMQ Streams integration is available as a technology preview feature on the Red Hat OpenShift Container Platform.

JBoss EAP XP supports MicroProfile Reactive Messaging 2.0.1; therefore, you can use MicroProfile Reactive Messaging 2.0.1 APIs to interact with AMQ Streams 2021.Q4. When JBoss EAP XP is used as a message relayer, you can consume, process, and produce messages within your application.

OpenTelemetry tracing in JBoss EAP XP

JBoss EAP XP provides OpenTelemetry tracing through the new opentelemetry subsystem. With OpenTelemetry Tracing, you can track the progress of client requests as they pass through different parts of your application.

JBoss EAP XP automatically and implicitly traces REST calls to your Jakarta RESTful Web Services applications and container-managed Jakarta RESTful Web Services client invocations. You can also create custom spans by injecting a Tracer instance into your application for granular tracing. For more information, see OpenTelemetry Tracing in JBoss EAP.