Red Hat JBoss Enterprise Application Platform Expansion Pack 1.0 Release Notes

Red Hat JBoss Enterprise Application Platform 7.3

For Use with JBoss EAP XP 1.0.0

Red Hat Customer Content Services

Abstract

This document provides general information about the JBoss EAP XP 1.0.0 release.

Chapter 1. Eclipse MicroProfile

1.1. Eclipse MicroProfile

Support for Eclipse MicroProfile Fault Tolerance 2.1

JBoss EAP XP 1.0.0 supports the Eclipse MicroProfile Fault Tolerance 2.1 specification.

The Eclipse MicroProfile Fault Tolerance 2.1 specification defines the following patterns for handling a failure:

  • Timeout
  • Fallback
  • Retry
  • CircuitBreaker
  • Bulkhead
Note

Fault Tolerance annotations can be applied only to methods or classes designed for Fault Tolerance. For example, a method marked with @Retry needs to ensure its logic is repeatable and does not leave resources open or rely on external resources. Correctly start, stop, or roll back any methods of classes that involve transactions. This ensures that the method is not placed in the wrong state if the method fails and is subsequently retried.

If transactions are container managed, they are started from the container outside of the CDI scope where MicroProfile annotations take place. The syntax will be valid, but you can experience unexpected behavior. Adding Fault Tolerance annotations to a CMT EJB is neither recommended nor supported because the transaction will be in the wrong state.

A new subsystem, microprofile-fault-tolerance-smallrye, provides the Eclipse MicroProfile Fault Tolerance 2.1 integration in JBoss EAP XP.

Support for Eclipse MicroProfile JWT RBAC 1.1

JBoss EAP XP 1.0.0 supports the Eclipse MicroProfile JWT RBAC 1.1 specification.

With Eclipse MicroProfile JWT RBAC, you can authenticate an identity using a cryptographically-signed JSON Web Token (JWT) token that is received in an HTTP request. The claims of the authenticated identity are verified using role-based access control (RBAC) for accessing microservice endpoints.

Eclipse MicroProfile JWT RBAC provides the following benefits:

  • Eclipse MicroProfile JWT RBAC requires only minimal configuration within a deployment for establishing an identity.
  • Eclipse MicroProfile JWT RBAC does not rely on access to external repositories of identities, such as databases or directory servers.

A new subsystem, microprofile-jwt-smallrye, provides the Eclipse MicroProfile JWT RBAC integration in JBoss EAP XP.

Support for Eclipse MicroProfile OpenAPI 1.1

JBoss EAP XP 1.0.0 supports the Eclipse MicroProfile OpenAPI 1.1 specification.

The Eclipse MicroProfile OpenAPI specification defines an HTTP GET /openapi endpoint that returns an OpenAPI v3 compliant document. This document describes the RESTful services provided by an application. The supported document formats are YAML and JSON.

Note

Currently, the /openapi endpoint for a virtual host can only document a single JAX-RS deployment. To use OpenAPI with multiple JAX-RS deployments that are registered with different context paths on the same virtual host, each deployment must use a distinct endpoint path.

Support for Eclipse MicroProfile Config 1.4

JBoss EAP XP 1.0.0 supports the Eclipse MicroProfile Config 1.4 specification.

The microprofile-config-smallrye subsystem has been updated to integrate Eclipse MicroProfile version 1.4.

Support for Eclipse MicroProfile Health 2.2

JBoss EAP XP 1.0.0 supports the Eclipse MicroProfile Health 2.2 specification.

The microprofile-health-smallrye subsystem has been updated to integrate Eclipse MicroProfile Health 2.2 in JBoss EAP XP.

Note

Health checks in subdeployments of an Enterprise Application Archive (EAR) deployment are not supported.

Support for Eclipse MicroProfile Metrics 2.3

JBoss EAP XP 1.0.0 supports the Eclipse MicroProfile Metrics 2.3 specification.

The microprofile-metrics-smallrye subsystem has been updated to integrate Eclipse MicroProfile Metrics 2.3. The updated subsystem provides a new optional base metric ProcessCpuTime.

Eclipse MicroProfile OpenTracing 1.3

JBoss EAP XP 1.0.0 supports the Eclipse MicroProfile OpenTracing 1.3 specification.

The microprofile-opentracing-smallrye subsystem has been updated to provide the Eclipse MicroProfile OpenTracing 1.3 integration in JBoss EAP XP.

The updated microprofile-opentracing-smallrye subsystem includes support for tracing JAX-RS and CDI. The subsystem also allows configuration of Jaeger Java Client.

Support for Eclipse MicroProfile REST Client 1.4

JBoss EAP XP 1.0.0 supports the MicroProfile REST Client 1.4 specification. MicroProfile REST Client 1.4 adds the Contexts and Dependency Injection (CDI) capability to the class org.eclipse.microprofile.rest.client.ext.ClientHeadersFactory.

Eclipse MicroProfile standalone server configuration

JBoss EAP XP 1.0.0 provides additional standalone configuration files, standalone-microprofile.xml and standalone-microprofile-ha.xml.

These configuration files support applications that use Eclipse MicroProfile specifications in JBoss EAP. Elytron is the default security solution for JBoss EAP XP.

Update standalone configurations with Eclipse MicroProfile subsystems and extensions

With JBoss EAP XP 1.0.0, you can update existing standalone server configuration files using the enable-microprofile.cli script. The enable-microprofile.cli is intended as an example script for updating standard standalone server configuration files, not custom configurations.

The enable-microprofile script adds the following Eclipse MicroProfile subsystems and extensions if they are not already present in the standalone server configuration file:

  • microprofile-openapi-smallrye
  • microprofile-jwt-smallrye
  • microprofile-fault-tolerance-smallrye

Ability to build and run microservices applications on the OpenShift image for JBoss EAP XP

You can build and run your microservices applications on the OpenShift image for JBoss EAP XP.

JBoss EAP XP 1.0 supports the following image streams:

  • The JDK 8 builder imagestream: jboss-eap-xp1-openjdk8-openshift:1.0
  • The JDK 8 runtime imagestream: jboss-eap-xp1-openjdk8-runtime-openshift:1.0
  • The JDK 11 builder imagestream: jboss-eap-xp1-openjdk11-openshift:1.0
  • The JDK 11 runtime imagestream: jboss-eap-xp1-openjdk11-runtime-openshift:1.0

For more information about the image streams and the workflow, see Build and run microservices applications on the OpenShift image for JBoss EAP XP.

Support for a default standalone configuration file for OpenShift

The OpenShift images for JBoss EAP XP 1.0.0 provide a default standalone configuration file for OpenShift. The default file, which is based on JBoss EAP XP 1.0.0 standalone-microprofile-ha.xml file, is adapted to OpenShift.

Support for CodeReady Workspaces

A Red Hat CodeReady Workspaces template with support for Eclipse MicroProfile is now available.

1.2. Quickstarts

Quickstarts for JBoss EAP XP 1.0.0 are provided as Technology Preview only.

Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend to use them for production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

See Technology Preview Features Support Scope on the Red Hat Customer Portal for information about the support scope for Technology Preview features.

Legal Notice

Copyright © 2020 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.