SmallRye: MicroProfile Fault Tolerance - Implementation

SmallRye Parent POM

License

License

GroupId

GroupId

io.smallrye
ArtifactId

ArtifactId

smallrye-fault-tolerance-2.0
Last Version

Last Version

1.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

SmallRye: MicroProfile Fault Tolerance - Implementation
SmallRye Parent POM

Download smallrye-fault-tolerance-2.0

How to add to project

<!-- https://jarcasting.com/artifacts/io.smallrye/smallrye-fault-tolerance-2.0/ -->
<dependency>
    <groupId>io.smallrye</groupId>
    <artifactId>smallrye-fault-tolerance-2.0</artifactId>
    <version>1.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/io.smallrye/smallrye-fault-tolerance-2.0/
implementation 'io.smallrye:smallrye-fault-tolerance-2.0:1.0.1'
// https://jarcasting.com/artifacts/io.smallrye/smallrye-fault-tolerance-2.0/
implementation ("io.smallrye:smallrye-fault-tolerance-2.0:1.0.1")
'io.smallrye:smallrye-fault-tolerance-2.0:jar:1.0.1'
<dependency org="io.smallrye" name="smallrye-fault-tolerance-2.0" rev="1.0.1">
  <artifact name="smallrye-fault-tolerance-2.0" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.smallrye', module='smallrye-fault-tolerance-2.0', version='1.0.1')
)
libraryDependencies += "io.smallrye" % "smallrye-fault-tolerance-2.0" % "1.0.1"
[io.smallrye/smallrye-fault-tolerance-2.0 "1.0.1"]

Dependencies

compile (10)

Group / Artifact Type Version
org.eclipse.microprofile.fault-tolerance : microprofile-fault-tolerance-api jar 2.0.1
com.netflix.hystrix : hystrix-core jar 1.5.12
javax.enterprise : cdi-api jar 2.0.SP1
javax.enterprise.concurrent : javax.enterprise.concurrent-api jar 1.0
javax.annotation : javax.annotation-api jar 1.3.2
org.jboss.logging : jboss-logging jar 3.4.0.Final
org.eclipse.microprofile.config : microprofile-config-api jar 1.3
org.eclipse.microprofile.metrics : microprofile-metrics-api jar 2.0.1
io.opentracing : opentracing-api Optional jar 0.31.0
io.opentracing : opentracing-util Optional jar 0.31.0

provided (1)

Group / Artifact Type Version
javax.interceptor : javax.interceptor-api jar 1.2.2

test (2)

Group / Artifact Type Version
junit : junit jar 4.12
io.smallrye : smallrye-config-1.3 jar 1.0.0

Project Modules

There are no modules declared in this project.

badge Quality Gate Status License smallrye fault tolerance?color=green

SmallRye Fault Tolerance

SmallRye Fault Tolerance is an implementation of Eclipse MicroProfile Fault Tolerance.

Integration

Thread pools

A vendor may want to provide custom executor services for the fault tolerant executions. This can be achieved by creating a custom io.smallrye.faulttolerance.ExecutorFactory and registering it via ServiceLoader.

If multiple factories are discovered, the one with the highest priority is used.

Context Propagation

smallrye-fault-tolerance-context-propagation provides an integration with MicroProfile Context Propagation. It is done by providing a custom ExecutorFactory, namely ContextPropagationExecutorFactory.

Please note that if you override the executor factory with a custom one and would like the context propagation to be enabled, you have to make sure your executor factory creates the executor services in the right way.

Open Tracing

SmallRye Fault Tolerance enables trace propagation to the asynchronous invocations via MicroProfile Context Propagation. To enable it, add smallrye-fault-tolerance-tracing-propagation to your project

Configuration

SmallRye Fault Tolerance supports all the configuration options of MicroProfile Fault Tolerance and, additionally, the following options:

  • io.smallrye.faulttolerance.globalThreadPoolSize, the amount of threads used by the fault tolerance mechanisms. This does not include bulkhead thread pools. Defaults to 100

  • io.smallrye.faulttolerance.timeoutExecutorThreads, the size of the thread pool used for scheduling timeouts. Defaults to 5

Instructions

Compile and install this project:

mvn clean install

Project structure

  • implementation - Implementation of the Eclipse MicroProfile Fault Tolerance API.

  • tck - Test suite to run the implementation against the Eclipse MicroProfile Fault Tolerance TCK.

  • docs - Project documentation.

io.smallrye

SmallRye

Versions

Version
1.0.1