alibaba/Sentinel

Add global fallback support for AspectJ annotation extension

Aberta

#3.110 aberto em 27 de abr. de 2023

 (1 comentário) (0 reação) (0 responsável)Java (8.150 forks)batch import
area/annotationgood first issuekind/feature

Métricas do repositório

Stars
 (23.109 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

Issue Description

Type: feature request

Describe what feature you want

Add global fallback support for AspectJ annotation extension.

@SentinelResource 注解方式埋点支持全局自定义 fallback,作为通用的兜底 fallback。在这个场景下,即使没有在 @SentinelResource 中指定 fallback 和 defaultFallback,只要在创建 SentinelResourceAspect 时指定了全局自定义 fallback,在出现异常或流量防护触发时 也会走到全局自定义 fallback 中。

Describe your initial design (if present)

Add an interface like this, and support creating SentinelResourceAspect with it:

public interface SentinelAnnotationGlobalFallback {

    Object handle(Method originalMethod, Object[] args, Throwable t) throws Throwable;
}

Guia do colaborador