mirror of
https://gitee.com/mirrors/Spring-Cloud-Alibaba.git
synced 2021-06-26 13:25:11 +08:00
add @ConditionalOnMissingBean for sentinel gateway AutoConfiguration
This commit is contained in:
parent
c4c8b4927e
commit
25f2b04c6b
@ -29,6 +29,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
import org.springframework.beans.factory.ObjectProvider;
|
import org.springframework.beans.factory.ObjectProvider;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.cloud.alibaba.sentinel.gateway.ConfigConstants;
|
import org.springframework.cloud.alibaba.sentinel.gateway.ConfigConstants;
|
||||||
@ -134,6 +135,7 @@ public class SentinelSCGAutoConfiguration {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@Order(Ordered.HIGHEST_PRECEDENCE)
|
@Order(Ordered.HIGHEST_PRECEDENCE)
|
||||||
|
@ConditionalOnMissingBean
|
||||||
public SentinelGatewayBlockExceptionHandler sentinelGatewayBlockExceptionHandler() {
|
public SentinelGatewayBlockExceptionHandler sentinelGatewayBlockExceptionHandler() {
|
||||||
// Register the block exception handler for Spring Cloud Gateway.
|
// Register the block exception handler for Spring Cloud Gateway.
|
||||||
logger.info(
|
logger.info(
|
||||||
@ -144,6 +146,7 @@ public class SentinelSCGAutoConfiguration {
|
|||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@Order(-1)
|
@Order(-1)
|
||||||
|
@ConditionalOnMissingBean
|
||||||
public GlobalFilter sentinelGatewayFilter() {
|
public GlobalFilter sentinelGatewayFilter() {
|
||||||
logger.info("[Sentinel SpringCloudGateway] register SentinelGatewayFilter");
|
logger.info("[Sentinel SpringCloudGateway] register SentinelGatewayFilter");
|
||||||
return new SentinelGatewayFilter();
|
return new SentinelGatewayFilter();
|
||||||
|
@ -25,6 +25,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.cloud.alibaba.sentinel.gateway.ConfigConstants;
|
import org.springframework.cloud.alibaba.sentinel.gateway.ConfigConstants;
|
||||||
@ -38,7 +39,6 @@ import com.alibaba.csp.sentinel.adapter.gateway.zuul.filters.SentinelZuulPostFil
|
|||||||
import com.alibaba.csp.sentinel.adapter.gateway.zuul.filters.SentinelZuulPreFilter;
|
import com.alibaba.csp.sentinel.adapter.gateway.zuul.filters.SentinelZuulPreFilter;
|
||||||
import com.alibaba.csp.sentinel.config.SentinelConfig;
|
import com.alibaba.csp.sentinel.config.SentinelConfig;
|
||||||
|
|
||||||
import com.netflix.zuul.ZuulFilter;
|
|
||||||
import com.netflix.zuul.http.ZuulServlet;
|
import com.netflix.zuul.http.ZuulServlet;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -70,21 +70,24 @@ public class SentinelZuulAutoConfiguration {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public ZuulFilter sentinelZuulPreFilter() {
|
@ConditionalOnMissingBean
|
||||||
|
public SentinelZuulPreFilter sentinelZuulPreFilter() {
|
||||||
logger.info("[Sentinel Zuul] register SentinelZuulPreFilter {}",
|
logger.info("[Sentinel Zuul] register SentinelZuulPreFilter {}",
|
||||||
zuulProperties.getOrder().getPre());
|
zuulProperties.getOrder().getPre());
|
||||||
return new SentinelZuulPreFilter(zuulProperties.getOrder().getPre());
|
return new SentinelZuulPreFilter(zuulProperties.getOrder().getPre());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public ZuulFilter sentinelZuulPostFilter() {
|
@ConditionalOnMissingBean
|
||||||
|
public SentinelZuulPostFilter sentinelZuulPostFilter() {
|
||||||
logger.info("[Sentinel Zuul] register SentinelZuulPostFilter {}",
|
logger.info("[Sentinel Zuul] register SentinelZuulPostFilter {}",
|
||||||
zuulProperties.getOrder().getPost());
|
zuulProperties.getOrder().getPost());
|
||||||
return new SentinelZuulPostFilter(zuulProperties.getOrder().getPost());
|
return new SentinelZuulPostFilter(zuulProperties.getOrder().getPost());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public ZuulFilter sentinelZuulErrorFilter() {
|
@ConditionalOnMissingBean
|
||||||
|
public SentinelZuulErrorFilter sentinelZuulErrorFilter() {
|
||||||
logger.info("[Sentinel Zuul] register SentinelZuulErrorFilter {}",
|
logger.info("[Sentinel Zuul] register SentinelZuulErrorFilter {}",
|
||||||
zuulProperties.getOrder().getError());
|
zuulProperties.getOrder().getError());
|
||||||
return new SentinelZuulErrorFilter(zuulProperties.getOrder().getError());
|
return new SentinelZuulErrorFilter(zuulProperties.getOrder().getError());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user