Commit 0ca447f3 by Nepxion

增加XML解析判断

parent 2fa4c43e
......@@ -30,12 +30,14 @@ public class FilterStrategy {
Map<String, String> filterMap = filterEntity.getFilterMap();
String filterValue = filterMap.get(serviceId);
if (StringUtils.isNotEmpty(filterValue)) {
validate(filterValue, ipAddress);
}
}
private void validate(String filterValue, String ipAddress) {
if (StringUtils.isEmpty(filterValue)) {
return;
}
String[] filterArray = StringUtils.split(filterValue, DiscoveryPluginConstant.SEPARATE);
for (String filter : filterArray) {
if (ipAddress.startsWith(filter)) {
......
......@@ -40,7 +40,6 @@ public class VersionStrategy {
if (consumerEntity != null) {
Map<String, String> providerMap = consumerEntity.getProviderMap();
String version = providerMap.get(providerServiceId);
if (StringUtils.isNotEmpty(version)) {
String[] versionArray = StringUtils.split(version, DiscoveryPluginConstant.SEPARATE);
List<String> versionList = Arrays.asList(versionArray);
Iterator<ServiceInstance> iterator = instances.iterator();
......@@ -52,7 +51,6 @@ public class VersionStrategy {
}
}
}
}
} finally {
reentrantLock.unlock();
}
......
......@@ -14,7 +14,7 @@
<!-- service-name,表示服务名 -->
<!-- version-value,表示可供访问的版本,如果多个用“;”分隔 -->
<version>
<!-- 表示消费端服务a,允许访问提供端服务b的1.0和1.1版本-->
<!-- 表示消费端服务a,允许访问提供端服务b的1.0版本-->
<consumer service-name="discovery-springcloud-example-a">
<provider service-name="discovery-springcloud-example-b" version-value="1.0"/>
</consumer>
......
......@@ -14,7 +14,7 @@
<!-- service-name,表示服务名 -->
<!-- version-value,表示可供访问的版本,如果多个用“;”分隔 -->
<version>
<!-- 表示消费端服务a,允许访问提供端服务b的1.0和1.1版本-->
<!-- 表示消费端服务a,允许访问提供端服务b的1.1版本-->
<consumer service-name="discovery-springcloud-example-a">
<provider service-name="discovery-springcloud-example-b" version-value="1.1"/>
</consumer>
......
<?xml version="1.0" encoding="UTF-8"?>
<discovery>
<!-- 服务注册的黑/白名单过滤。白名单表示只允许指定IP地址前缀注册,黑名单表示不允许指定IP地址前缀注册。每个服务只能同时开启要么白名单,要么黑名单 -->
<!-- filter-type,可选值BLACKLIST/WHITELIST,表示白名单或者黑名单 -->
<!-- service-name,表示服务名 -->
<!-- filter-value,表示黑/白名单的IP地址列表。IP地址一般用前缀来表示,如果多个用“;”分隔 -->
<!-- 表示下面所有服务,不允许10.10和11.11为前缀的IP地址注册(全局过滤) -->
<filter filter-type="BLACKLIST" filter-value="10.10;11.11">
<!-- 表示下面服务,不允许172.16和10.10和11.11为前缀的IP地址注册 -->
<service service-name="discovery-springcloud-example" filter-value="172.16"/>
</filter>
<!-- 服务注册下,服务多版本调用的控制 -->
<!-- service-name,表示服务名 -->
<!-- version-value,表示可供访问的版本,如果多个用“;”分隔 -->
<version>
<!-- 表示消费端服务a,不允许访问提供端服务b的任何版本-->
<consumer service-name="discovery-springcloud-example-a">
<provider service-name="discovery-springcloud-example-b" version-value=""/>
</consumer>
</version>
</discovery>
\ No newline at end of file
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