Introduction

SmallRye Fault Tolerance comprises the following main artifacts:

  • io.smallrye:smallrye-fault-tolerance-api: public API for the features provided on top of MicroProfile Fault Tolerance, including a programmatic API;

  • io.smallrye:smallrye-fault-tolerance-core: core implementations of fault tolerance strategies;

  • io.smallrye:smallrye-fault-tolerance: CDI-based implementation of MicroProfile Fault Tolerance with SmallRye Fault Tolerance extensions, including a programmatic API;

  • io.smallrye:smallrye-fault-tolerance-autoconfig-core: runtime part of the SmallRye Fault Tolerance configuration system.

    • (There’s also io.smallrye:smallrye-fault-tolerance-autoconfig-processor, but that is only used during SmallRye Fault Tolerance build and isn’t required at runtime.)

These artifacts must be always present, together with the following dependencies:

  • Jakarta CDI, Annotations and Interceptors API;

  • org.eclipse.microprofile.fault-tolerance:microprofile-fault-tolerance-api;

  • org.eclipse.microprofile.config:microprofile-config-api and some implementation;

  • org.jboss.logging:jboss-logging.

Some other artifacts are provided to facilitate additional integrations. These are described in the subsequent sections.

Most of the integration is performed automatically by the CDI Portable Extension present in SmallRye Fault Tolerance: io.smallrye.faulttolerance.FaultToleranceExtension. Make sure the extension is active. The remaining integration concerns are described in the following sections:

Standalone Implementation of the Programmatic API

A completely standalone implementation of the programmatic API exists in the io.smallrye:smallrye-fault-tolerance-standalone artifact. This is supposed to be used in a non-CDI environment. Runtimes that integrate SmallRye Fault Tolerance typically do so using CDI, and so should ignore this artifact.