seninel部署
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Eric Zhao 348b1c819b Add Sentinel annotation definition and aspectj extension 6年前
..
src/main/java/com/alibaba/csp/sentinel/annotation/aspectj Add Sentinel annotation definition and aspectj extension 6年前
README.md Add Sentinel annotation definition and aspectj extension 6年前
pom.xml Add Sentinel annotation definition and aspectj extension 6年前

README.md

Sentinel Annotation AspectJ

This extension is an AOP implementation using AspectJ for Sentinel annotations. Currently only runtime waving is supported.

Annotation

The @SentinelResource annotation indicates a resource definition, including:

  • value: Resource name, required (cannot be empty)
  • entryType: Resource entry type (inbound or outbound), EntryType.OUT by default
  • fallback: Fallback method when degraded (optional). The fallback method should be located in the same class with original method. The signature of the fallback method should match the original method (parameter types and return type)
  • blockHandler: Handler method that handles BlockException when blocked. The block handler method should be located in the same class with original method, and the signature should match original method, with the last additional parameter type BlockException.

For example:

@SentinelResource(value = "abc", fallback = "doFallback", blockHandler = "handleException")
public String doSomething(long i) {
    return "Hello " + i;
}

public String doFallback(long i) {
    // Return fallback value.
    return "Oops, degraded";
}

public String handleException(long i, BlockException ex) {
    // Handle the block exception here.
    return null;
}

Configuration

AspectJ

If you are using AspectJ directly, you can add the Sentinel annotation aspect to your aop.xml:

<aspects>
    <aspect name="com.alibaba.csp.sentinel.annotation.aspectj.SentinelResourceAspect"/>
</aspects>

Spring AOP

If you are using Spring AOP, you should add a configuration to register the aspect as a Spring bean:

@Configuration
public class SentinelAspectConfiguration {

    @Bean
    public SentinelResourceAspect sentinelResourceAspect() {
        return new SentinelResourceAspect();
    }
}

An example for using Sentinel Annotation AspectJ with Spring Boot can be found here.