My environment is as the following:-
From Docker `payara/micro:latest`
- Payara Version: Payara Micro 5.184 #badassmicrofish (build 89)- Edition: Micro- JDK Version:
openjdk version "1.8.0_181"OpenJDK Runtime Environment (IcedTea 3.9.0) (Alpine 8.181.13-r0)OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
- Operating System:
NAME="Alpine Linux"ID=alpineVERSION_ID=3.8.1PRETTY_NAME="Alpine Linux v3.8"
# META-INF/microprofile-config.propertiesmy.service.MyResource/alwaysFail/CircuitBreaker/failOn=java.lang.Throwable.classmy.service.MyResource/alwaysFail/CircuitBreaker/requestVolumeThreshold=4my.service.MyResource/alwaysFail/CircuitBreaker/failureRatio=0.75dmy.service.MyResource/alwaysFail/CircuitBreaker/successThreshold=2my.service.MyResource/alwaysFail/CircuitBreaker/delay=1000
package my.service;@ApplicationPath("/myapi")public class MyApplication extends Application {}
package my.service;@Path("ft")@ApplicationScopedpublic class MyResource { @GET @CircuitBreaker public Response alwaysFail() { throws new IllegalStateException("This always fails."); }}
curl -v -X GET \
faultToleranceObjects.get(applicationName).getCircuitBreakerStates().get(invocationTarget)
.put(fullMethodSignature, new CircuitBreakerState(circuitBreaker.requestVolumeThreshold()));