Chapter 4. Features


4.1. New features and feature upgrades

4.1.1. Support for Thorntail Runtime on IBM Z and IBM Power Systems

The Red Hat build of Thorntail for s390xand ppc64le platform is supported only in OpenShift environments provisioned on IBM Z and IBM Power Systems infrastructure. Running an Thorntail application on a stand-alone installation of RHEL on IBM Zand IBM Power Systems is not supported.

Eclipse OpenJ9 Java images for IBM Z and IBM Power Systems and new images for products supported on IBM Z and IBM Power Systems are available in the Red Hat Ecosystem Catalog.

4.1.2. Deploying example applications on OpenShift provisioned on IBM Z and IBM Power Systems infrastructure

To deploy the example applications on OpenShift environments provisioned on IBM Z and IBM Power Systems infrastructure, specify the relevant IBM Z and IBM Power Systems image name in the pom.xml file and commands.

Some of the example applications also require other products, such as Red Hat Data Grid to demonstrate the workflows. In this case, you must also change the image names of these products to their relevant IBM Z and IBM Power Systems image names in the YAML file of the example applications.

4.1.3. Deploy Thorntail applications using OpenShift Maven plugin

Use the OpenShift Maven plugin to deploy your Thorntail applications on OpenShift. The Fabric8 Maven plugin is no longer supported. For more information, see the section migrating from Fabric8 Maven Plugin to Eclipse JKube.

4.1.4. Thorntail metering labels for OpenShift

You can add metering labels to your Thorntail 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.

Thorntail should use the following metering labels:

  • com.redhat.component-name: Thorntail
  • com.redhat.component-type: application
  • com.redhat.component-version: 2.7.3
  • com.redhat.product-name: "Red_Hat_Runtimes"
  • com.redhat.product-version: 2021-Q1

See Metering documentation for more information.

For more information on labels, see Understanding how to update labels on nodes.

4.1.5. New hibernate fraction

A new fraction hibernate is available. This fraction provides the same functionality as jpa fraction. Additionally the hibernate fraction provides dependencies on the correct versions of Hibernate artifacts. If you use Hibernate APIs in your applications, you can use this fraction to manage the Hibernate versions instead of managing them manually.

4.1.6. Introduced an option to only repackage application WAR inside the uberjar

The filterWebInfLib configuration option introduces a new value uberjar-only. When this value is specified, only the WAR file inside the uberjar is repackaged. The standalone WAR file is not modified.

You can use the uberjar-only option when you want to create both, an uberjar for self-contained deployment, and a standalone WAR for deployment to an application server.

4.1.7. Feature upgrades

This release of Thorntail introduces the following feature upgrades:

4.1.7.1. Eclipse MicroProfile 3.3 support

This release implements Eclipse MicroProfile 3.3 by including the latest SmallRye artifacts. The following specifications have been upgraded to the versions listed below:

  • Health Check 2.2

    • HealthCheckResponse is no longer an abstract class. It also introduces two new convenience methods HealthCheckResponse.up and HealthCheckResponse.down.
  • Metrics 2.3

    • This release introduces a new type of metric called simple timer. The timer tracks the count and duration of invocations.
    • This release introduces a new annotation, @SimplyTimed. Use the annotation to create simple timers.
    • Some new metrics, such as, REST.request, are available in the base scope. The REST.request metric tracks the count and duration of requests for a REST endpoint.
    • New methods are available in the MetadataBuilder, MetricID, and MetricType interfaces.
    • All metric registries in Thorntail are thread safe. This is now a requirement of the MicroProfile Metrics specification.
  • Rest Client 1.4

    • Classes that implement the ClientHeadersFactory interface can now be CDI beans and use CDI injection.
    • JAX-RS injection (@Context) for classes that implement the ClientHeadersFactory interface is not supported in Thorntail. This is an optional feature of the MicroProfile RestClient specification.
  • Config 1.4

    • Some caching and classloading issues are fixed in the ConfigProviderResolver class.
    • The Converter interface extends Serializable interface.
    • New built-in Converter types are available.
  • Fault Tolerance 2.1

    • New annotation attributes CircuitBreaker.skipOn, Fallback.applyOn, and Fallback.skipOn are available.
    • Specified the behavior for @Retry when the retryOn and abortOn exception sets overlap. Similar behavior is specified for:

      • @CircuitBreaker when failOn and skipOn overlap
      • @Fallback when applyOn and skipOn overlap

4.1.8. Updated components

This section lists the components that are updated in Thorntail releases.

4.1.8.1. Thorntail 2.7.3

The components updated in Thorntail 2.7.3 release are:

Red Hat JBoss EAP 7.3.5 GA
The EAP dependencies in Thorntail have been updated to Red Hat JBoss Enterprise Application Platform 7.3.5 GA release.
Red Hat SSO 7.4.5 GA
The single sign-on components in Thorntail have been updated to Red Hat Single Sign-On 7.4.5 GA release.

4.1.8.2. Thorntail 2.7.2

The components updated in Thorntail 2.7.2 release are:

Red Hat JBoss EAP 7.3.4 GA
The EAP dependencies in Thorntail have been updated to Red Hat JBoss Enterprise Application Platform 7.3.4 GA release.
Red Hat SSO 7.4.4 GA
The single sign-on components in Thorntail have been updated to Red Hat Single Sign-On 7.4.4 GA release.

4.1.8.3. Thorntail 2.7.1

The components updated in Thorntail 2.7.1 release are:

Red Hat JBoss EAP 7.3.2 GA
The EAP dependencies in Thorntail have been updated to Red Hat JBoss Enterprise Application Platform 7.3.2 GA release.
Red Hat SSO 7.4.2 GA
The single sign-on components in Thorntail have been updated to Red Hat Single Sign-On 7.4.2 GA release.

4.1.8.4. Thorntail 2.7.0

The components updated in Thorntail 2.7.0 release are:

Red Hat JBoss EAP 7.3.1 GA
The EAP dependencies in Thorntail have been updated to Red Hat JBoss Enterprise Application Platform 7.3.1 GA release.
Red Hat SSO 7.4.1 GA
The single sign-on components in Thorntail have been updated to Red Hat Single Sign-On 7.4.1 GA release.
SmallRye Config 1.6.2
This release of Thorntail contains SmallRye Config 1.6.2.
SmallRye Fault Tolerance 4.3.0
This release of Thorntail contains SmallRye Fault Tolerance 4.3.0.
Jakarta EE 8 specification artifacts
This release of Thorntail uses Jakarta EE 8 specification artifacts instead of Java EE 8 specification artifacts. Since these specification artifacts are fully compatible, no changes are required in the Thorntail applications.

4.2. Changed and deprecated features

4.2.1. Red Hat Maven repository added to default Maven repositories

The Red Hat Maven repository has been included in the set of default Maven repositories that Thorntail uses to download artifacts.

If you use a Maven repository proxy, such as Nexus, add https://maven.repository.redhat.com/ga/ to the list of proxy repositories.

4.2.2. Thorntail configuration property can be set to null using environment variables or system properties

When you set an environment variable or system property to <<null>>, the corresponding Thorntail configuration property is set to null.

In releases prior to Thorntail 2.7.0, you could not set the configuration property to null using environment variables or system properties. The configuration property would always be set to the string value of the environment variable or system property, which could be an empty string, or the "null" string, or any other string.

4.2.3. Change in MicroProfile Config behavior when empty values are used

There is a change in how SmallRye Config treats empty values.

If you specify an empty string as a value for a MicroProfile Config configuration property, it is now treated as a missing value.

In previous releases, an empty string was treated as an empty value, which led to inconsistent behavior. For example, an empty string interpreted as an array would become an empty array, but a string "," interpreted as an array would become an array of 2 empty strings.

4.3. Technology preview

No technology preview features have been introduced in this release.

Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat, Inc.