Configuring WildFly stability levels

Welcome to the tutorial on WildFly Stability Levels! In this guide, we’ll explore the concept of stability levels in WildFly, how they are utilized, and how you can leverage them to ensure the quality, stability, and compatibility of the features you use.

Introduction

The WildFly project places a high emphasis on maintaining quality, stability, and backwards compatibility. To achieve these standards, WildFly introduces the concept of “community bake,” allowing interested users to access features still undergoing a hardening process, without imposing them on users who may not be interested.

Stability Levels in WildFly

With the release of WildFly 31, the project introduced formal “stability levels” associated with functionality. These levels provide users with control over the minimum stability level of available features when starting a WildFly process.

Setting Stability Levels

Users can set the stability level using the --stability command line parameter, choosing from the values: experimental, preview, community, or default. For example:

bin/standalone.sh --stability=preview

Therefore, you will be able to use preview features if available in your distribution. For example:

wildfly stability levels

Features at a lower stability level will not be available for use.

Default Stability Level

A WildFly installation has a standard stability level determined by the Galleon feature-pack used for provisioning. This level is used if the --stability parameter is not set. For a standard WildFly installation, the default level is community. For WildFly Preview, it is preview.

Stability Level Details

Let’s delve into the details of each stability level:

  1. experimental: This level is for bleeding-edge functionality that may never advance to a higher stability level. No WildFly feature-pack or distribution zip/tar would enable this level by default.
  2. preview: Features of sufficient stability to be available by default in WildFly Preview, but not in standard WildFly. The expectation is that these features will eventually move to the community level in a substantially similar form (although not guaranteed).
  3. community: This level is for features of sufficient stability to be available by default in standard WildFly. Features at this level are not expected to change incompatibly over time, in a manner inconsistent with the expectations of the Galleon feature-pack that provides them.
  4. default: Features at this level have undergone additional vetting to ensure they are suitable for the long-term compatibility expectations of the Galleon feature-pack that provides them.

The vast majority of functionality in both standard WildFly and WildFly Preview is at the default stability level. However, over time, the amount of functionality at other levels, particularly community, is expected to increase.

Conclusion

Understanding and leveraging stability levels in WildFly is crucial for tailoring your development environment to your specific needs. Whether you’re on the cutting edge with experimental features or prioritizing long-term stability with default features, WildFly’s stability levels give you the flexibility to choose.

Happy coding with WildFly! 🚀✨

Found the article helpful? if so please follow us on Socials