Thorntail
 

At this year's Red Hat Summit, Red Hat announced Thorntail 2.4 general availability for Red Hat customers through a subscription to Red Hat Application Runtimes. Red Hat Application Runtimes provides application developers with a variety of application runtimes running on the Red Hat OpenShift Container Platform.

Introduction to Thorntail

Thorntail is the new name for WildFly Swarm, and it bundles everything you need to develop and run Thorntail and MicroProfile applications by packaging server runtime libraries with your application code and running it with java -jar. It speeds up the transition from monoliths to microservices and takes advantage of your existing industry standard Java EE technology experience.

What's New in Thorntail?

This release is an incremental release from Thorntail 2.2 and adds support for Java 11 and MicroProfile 2.2 (the latest release at the time of writing), a feature-rich collection of APIs for developing enterprise microservices. Incremental updates in MicroProfile 2.2 (and therefore in Thorntail 2.4) include:

  • Fault Tolerance 2.0: Implements a collection of programming patterns like Bulkheads, Timeouts, Circuit Breakers, and Fallbacks to monitor and gracefully react to potential failure conditions. Utilizing these patterns can eliminate the potential for cascading failures in a microservices architecture.
  • OpenTracing 1.3: Enables tracing the flow of a request as it traverses multiple services within a microservices architecture. When Thorntail is used with Jaeger (a distributed tracing service), organizations can quickly track down performance bottlenecks.
  • Open API 1.1: A Java implementation of the Open API specification that exposes machine-readable format of custom-developed RESTful endpoints.
  • Rest Client 1.2.0: A type-safe API for invoking RESTful services.

Thorntail also includes a number of features that make it easy to deploy and manage Thorntail projects, such as integrating data sources, support for Keycloak and Red Hat SSO, and more. Consult the release notes for a complete list.

A redesigned launcher for Red Hat OpenShift

Redesigned launcher experience
Redesigned launcher experience.

Using developers.redhat.com/launch, you can immediately create and deploy a Thorntail application directly to OpenShift Online or to your own local OpenShift cluster. It provides a hassle-free way of creating applications from scratch, starting with example applications, or importing your own, as well as an easy way to build and deploy those applications to Red Hat OpenShift.

Examples are available to showcase how developers can use Thorntail to build fundamental building blocks of cloud-native applications and services, such as creating secured RESTful APIs, implementing health checks, externalizing configuration, or integrating with the OpenShift Service Mesh based on the Istio project.

Test driving a sample app using Thorntail

Thorntail is a Java framework and, as such, it can be run using OpenJDK. Let's test drive one of the Thorntail boosters on OpenShift (here I am using the Red Hat CDK, but any OpenShift cluster will do). The following is one set of commands you could use to pull the OpenJDK image to your local system for use with Thorntail:

oc new-project thorntail
oc import-image java:8 --from=registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift --confirm

Then, the following commands could be used to build and deploy the Thorntail application to Red Hat OpenShift:

oc new-app --name rest-example 'java:8~https://github.com/thorntail-examples/rest-http-redhat#2.4.0-redhat-1'
oc expose svc/rest-example

You can watch the build take place:

oc logs -f bc/rest-example

Once the build completes, wait for the deployment to finish:

oc rollout status -w dc/rest-example

And then access the sample app's UI:

open http://$(oc get route rest-example -o jsonpath='{.spec.host}{"\n"}')

Red Hat customers using the OpenJDK distribution with Thorntail will be able to keep current with the latest updates, security advisories, knowing when and why containers are updated, and remaining up to date on the latest available tagged image.

Documentation

The Red Hat OpenShift Application Runtimes (RHOAR) team has been continuously adding and improving on the official documentation for Thorntail. This includes updates in the Release Notes, Getting Started Guide and the new Thorntail Runtime Guide.

Developer interactive learning scenarios

These self-paced scenarios provide you with a preconfigured Red Hat OpenShift instance, accessible from your browser without any downloads or configuration. Use it to experiment with Thorntail or learn about other technologies within RHOAR and see how it helps solve real-world problems.

Interactive Learning Scenario for Thorntail
Interactive Learning Scenario for Thorntail
Interactive Learning Scenario for Thorntail

Getting support for Thorntail

Support for Thorntail is available to Red Hat customers through a subscription to Red Hat OpenShift Application Runtimes. Contact your local Red Hat representative or Red Hat Sales for details on how you can enjoy world-class support offered from Red Hat and its worldwide partner network.

Moving forward, customers can expect support for Thorntail and other RHOAR runtimes according to the Red Hat Product Update and Support Lifecycle.

What’s next for Thorntail?

The Thorntail team is continually taking feedback from customers and the wider community of open source developers, as well as tracking the upstream Thorntail releases. They are working to make updates to the RHOAR runtimes based on that feedback, as well as considering support for additional modules from Red Hat and the very large Java community. The Thorntail community is also continuing to track the evolution of and contribute to Jakarta EE as well as the advances in the MicroProfile project.

Red Hat customers enjoy world-class support for Thorntail 2.x (and all other runtimes in Red Hat Application Runtimes). Longer term, the Thorntail team will look to the recently announced Quarkus project to deliver even more impressive resource consumption and performance numbers, and a fantastic development experience utilizing SmallRye to implement the Eclipse MicroProfile specifications. For more information about Thorntail and Quarkus, read this blog post outlining the community direction.

The people behind Thorntail

This release was produced by the Red Hat's RHOAR product team, and it involved many hours of development, testing, writing documentation, testing some more, and working with the wider Red Hat community of customers, partners, and Thorntail developers to incorporate contributions, both big and small. We are glad you have chosen to use it and hope that it meets or exceeds your expectations!

Thorntail resources

Last updated: January 12, 2024