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:
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:
- 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.
- 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). - 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.
- 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! 🚀✨