Commit 2bc91d1d by Nepxion

去掉黑名单配置

parent ef1a2177
...@@ -10,7 +10,6 @@ package com.nepxion.discovery.plugin.constant; ...@@ -10,7 +10,6 @@ package com.nepxion.discovery.plugin.constant;
*/ */
public class DiscoveryPluginConstant { public class DiscoveryPluginConstant {
public static final String SPRING_APPLICATION_DISCOVERY_FILTER_ENABLED = "spring.application.discovery.filter.enabled";
public static final String SPRING_APPLICATION_DISCOVERY_VERSION_ENABLED = "spring.application.discovery.version.enabled"; public static final String SPRING_APPLICATION_DISCOVERY_VERSION_ENABLED = "spring.application.discovery.version.enabled";
public static final String SPRING_APPLICATION_DISCOVERY_REMOTE_CONFIG_ENABLED = "spring.application.discovery.remote.config.enabled"; public static final String SPRING_APPLICATION_DISCOVERY_REMOTE_CONFIG_ENABLED = "spring.application.discovery.remote.config.enabled";
......
...@@ -60,4 +60,8 @@ public class DiscoveryClientDecorator implements DiscoveryClient { ...@@ -60,4 +60,8 @@ public class DiscoveryClientDecorator implements DiscoveryClient {
public List<String> getServices() { public List<String> getServices() {
return discoveryClient.getServices(); return discoveryClient.getServices();
} }
public ConfigurableEnvironment getEnvironment() {
return environment;
}
} }
\ No newline at end of file
...@@ -15,7 +15,6 @@ import org.springframework.cloud.netflix.eureka.serviceregistry.EurekaServiceReg ...@@ -15,7 +15,6 @@ import org.springframework.cloud.netflix.eureka.serviceregistry.EurekaServiceReg
import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.core.env.ConfigurableEnvironment;
import com.nepxion.discovery.plugin.constant.DiscoveryPluginConstant;
import com.nepxion.discovery.plugin.strategy.FilterStrategy; import com.nepxion.discovery.plugin.strategy.FilterStrategy;
public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry { public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry {
...@@ -31,20 +30,13 @@ public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry { ...@@ -31,20 +30,13 @@ public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry {
@Override @Override
public void register(EurekaRegistration registration) { public void register(EurekaRegistration registration) {
boolean discoveryFilterEnabled = Boolean.valueOf(environment.getProperty(DiscoveryPluginConstant.SPRING_APPLICATION_DISCOVERY_FILTER_ENABLED));
if (discoveryFilterEnabled) {
discoveryFilterEnabled(registration);
}
serviceRegistry.register(registration);
}
private void discoveryFilterEnabled(EurekaRegistration registration) {
String serviceId = registration.getServiceId(); String serviceId = registration.getServiceId();
String ipAddress = registration.getInstanceConfig().getIpAddress(); String ipAddress = registration.getInstanceConfig().getIpAddress();
FilterStrategy filterStrategy = applicationContext.getBean(FilterStrategy.class); FilterStrategy filterStrategy = applicationContext.getBean(FilterStrategy.class);
filterStrategy.apply(serviceId, ipAddress); filterStrategy.apply(serviceId, ipAddress);
serviceRegistry.register(registration);
} }
@Override @Override
...@@ -66,4 +58,8 @@ public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry { ...@@ -66,4 +58,8 @@ public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry {
public Object getStatus(EurekaRegistration registration) { public Object getStatus(EurekaRegistration registration) {
return serviceRegistry.getStatus(registration); return serviceRegistry.getStatus(registration);
} }
public ConfigurableEnvironment getEnvironment() {
return environment;
}
} }
\ No newline at end of file
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
<!-- filter-type,可选值BLACKLIST/WHITELIST,表示白名单或者黑名单 --> <!-- filter-type,可选值BLACKLIST/WHITELIST,表示白名单或者黑名单 -->
<!-- service-name,表示服务名 --> <!-- service-name,表示服务名 -->
<!-- filter-value,表示黑/白名单的IP地址列表。IP地址一般用前缀来表示,如果多个用“;”分隔 --> <!-- filter-value,表示黑/白名单的IP地址列表。IP地址一般用前缀来表示,如果多个用“;”分隔 -->
<!-- 表示下面所有服务,不允许192.168和192.168为前缀的IP地址注册(全局过滤) --> <!-- 表示下面所有服务,不允许10.10和11.11为前缀的IP地址注册(全局过滤) -->
<filter filter-type="BLACKLIST" filter-value="192.168;172.16"> <filter filter-type="BLACKLIST" filter-value="10.10;11.11">
<!-- 表示下面服务,不允许10.10和192.168和172.16为前缀的IP地址注册 --> <!-- 表示下面服务,不允许172.16和10.10和11.11为前缀的IP地址注册 -->
<service service-name="discovery-springcloud-example" filter-value="10.10"/> <service service-name="discovery-springcloud-example" filter-value="172.16"/>
<!-- 表示下面服务,不允许11.11和192.168和172.16为前缀的IP地址注册 --> <!-- 表示下面服务,不允许173.16和10.10和11.11为前缀的IP地址注册 -->
<service service-name="my-springcloud-example" filter-value="11.11"/> <service service-name="my-springcloud-example" filter-value="173.16"/>
</filter> </filter>
<!-- 服务注册下,服务多版本调用的控制 --> <!-- 服务注册下,服务多版本调用的控制 -->
......
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
<!-- filter-type,可选值BLACKLIST/WHITELIST,表示白名单或者黑名单 --> <!-- filter-type,可选值BLACKLIST/WHITELIST,表示白名单或者黑名单 -->
<!-- service-name,表示服务名 --> <!-- service-name,表示服务名 -->
<!-- filter-value,表示黑/白名单的IP地址列表。IP地址一般用前缀来表示,如果多个用“;”分隔 --> <!-- filter-value,表示黑/白名单的IP地址列表。IP地址一般用前缀来表示,如果多个用“;”分隔 -->
<!-- 表示下面所有服务,不允许192.168和192.168为前缀的IP地址注册(全局过滤) --> <!-- 表示下面所有服务,不允许10.10和11.11为前缀的IP地址注册(全局过滤) -->
<filter filter-type="BLACKLIST" filter-value="192.168;172.16"> <filter filter-type="BLACKLIST" filter-value="10.10;11.11">
<!-- 表示下面服务,不允许10.10和192.168和172.16为前缀的IP地址注册 --> <!-- 表示下面服务,不允许172.16和10.10和11.11为前缀的IP地址注册 -->
<service service-name="discovery-springcloud-example" filter-value="10.10"/> <service service-name="discovery-springcloud-example" filter-value="172.16"/>
<!-- 表示下面服务,不允许11.11和192.168和172.16为前缀的IP地址注册 --> <!-- 表示下面服务,不允许173.16和10.10和11.11为前缀的IP地址注册 -->
<service service-name="my-springcloud-example" filter-value="11.11"/> <service service-name="my-springcloud-example" filter-value="173.16"/>
</filter> </filter>
<!-- 服务注册下,服务多版本调用的控制 --> <!-- 服务注册下,服务多版本调用的控制 -->
......
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
<!-- filter-type,可选值BLACKLIST/WHITELIST,表示白名单或者黑名单 --> <!-- filter-type,可选值BLACKLIST/WHITELIST,表示白名单或者黑名单 -->
<!-- service-name,表示服务名 --> <!-- service-name,表示服务名 -->
<!-- filter-value,表示黑/白名单的IP地址列表。IP地址一般用前缀来表示,如果多个用“;”分隔 --> <!-- filter-value,表示黑/白名单的IP地址列表。IP地址一般用前缀来表示,如果多个用“;”分隔 -->
<!-- 表示下面所有服务,不允许192.168和192.168为前缀的IP地址注册(全局过滤) --> <!-- 表示下面所有服务,不允许10.10和11.11为前缀的IP地址注册(全局过滤) -->
<filter filter-type="BLACKLIST" filter-value="192.168;172.16"> <filter filter-type="BLACKLIST" filter-value="10.10;11.11">
<!-- 表示下面服务,不允许10.10和192.168和172.16为前缀的IP地址注册 --> <!-- 表示下面服务,不允许172.16和10.10和11.11为前缀的IP地址注册 -->
<service service-name="discovery-springcloud-example" filter-value="10.10"/> <service service-name="discovery-springcloud-example" filter-value="172.16"/>
<!-- 表示下面服务,不允许11.11和192.168和172.16为前缀的IP地址注册 --> <!-- 表示下面服务,不允许173.16和10.10和11.11为前缀的IP地址注册 -->
<service service-name="my-springcloud-example" filter-value="11.11"/> <service service-name="my-springcloud-example" filter-value="173.16"/>
</filter> </filter>
<!-- 服务注册下,服务多版本调用的控制 --> <!-- 服务注册下,服务多版本调用的控制 -->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment