All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.resilience4j.micronaut.ResilienceInterceptPhase Maven / Gradle / Ivy

Go to download

Resilience4j is a lightweight, easy-to-use fault tolerance library designed for Java8 and functional programming

There is a newer version: 2.2.0
Show newest version
/*
 * Copyright 2020 Michael Pollind
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package io.github.resilience4j.micronaut;

import io.github.resilience4j.micronaut.retry.RetryInterceptor;
import io.micronaut.aop.Interceptor;

/**
 * 

{@link Interceptor} classes implement the {@link io.micronaut.core.order.Ordered} interface * in order to control the order of execution when multiple interceptors are present.

* *

This class provides a set of phases used for resilience4j

*

* The default order of phases are: Retry ( CircuitBreaker ( RateLimiter ( TimeLimiter ( Bulkhead ( Function ) ) ) ) ) * The order places this at {@link RetryInterceptor} and before {@link io.micronaut.retry.intercept.RecoveryInterceptor} */ public enum ResilienceInterceptPhase { /** * Retry phase of execution. */ RETRY(-60), /** * Retry phase of execution. */ CIRCUIT_BREAKER(-55), /** * Retry phase of execution. */ RATE_LIMITER(-50), /** * Retry phase of execution. */ TIME_LIMITER(-45), /** * Retry phase of execution. */ BULKHEAD(-42); private final int position; /** * Constructor. * * @param position The order of position */ ResilienceInterceptPhase(int position) { this.position = position; } /** * @return The position */ public int getPosition() { return position; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy