Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
discovery
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
谢捷峰
discovery
Commits
0c5eecc3
Commit
0c5eecc3
authored
Aug 05, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重构类结构
parent
fde342e0
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
40 additions
and
40 deletions
+40
-40
discovery-common/src/main/java/com/nepxion/discovery/common/entity/VersionEntity.java
+2
-2
discovery-common/src/main/java/com/nepxion/discovery/common/entity/VersionFilterEntity.java
+5
-5
discovery-plugin-config-center/src/main/java/com/nepxion/discovery/plugin/configcenter/parser/xml/XmlConfigParser.java
+12
-12
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/VersionFilterDiscoveryListener.java
+9
-9
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/VersionFilterLoadBalanceListener.java
+9
-9
discovery-springcloud-example-gateway/src/main/resources/rule.json
+1
-1
discovery-springcloud-example-service/src/main/resources/rule.json
+1
-1
discovery-springcloud-example-zuul/src/main/resources/rule.json
+1
-1
No files found.
discovery-common/src/main/java/com/nepxion/discovery/common/entity/
DiscoveryService
Entity.java
→
discovery-common/src/main/java/com/nepxion/discovery/common/entity/
Version
Entity.java
View file @
0c5eecc3
...
...
@@ -17,7 +17,7 @@ import org.apache.commons.lang3.builder.HashCodeBuilder;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
public
class
DiscoveryService
Entity
implements
Serializable
{
public
class
Version
Entity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
9074414583796627542L
;
private
String
consumerServiceName
;
...
...
@@ -25,7 +25,7 @@ public class DiscoveryServiceEntity implements Serializable {
private
List
<
String
>
consumerVersionValueList
;
private
List
<
String
>
providerVersionValueList
;
public
DiscoveryService
Entity
()
{
public
Version
Entity
()
{
}
...
...
discovery-common/src/main/java/com/nepxion/discovery/common/entity/VersionFilterEntity.java
View file @
0c5eecc3
...
...
@@ -22,18 +22,18 @@ import org.apache.commons.lang3.builder.ToStringStyle;
public
class
VersionFilterEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6147106004826964165L
;
private
Map
<
String
,
List
<
DiscoveryServiceEntity
>>
serviceEntityMap
=
new
LinkedHashMap
<
String
,
List
<
DiscoveryService
Entity
>>();
private
Map
<
String
,
List
<
VersionEntity
>>
versionEntityMap
=
new
LinkedHashMap
<
String
,
List
<
Version
Entity
>>();
public
VersionFilterEntity
()
{
}
public
Map
<
String
,
List
<
DiscoveryServiceEntity
>>
getService
EntityMap
()
{
return
service
EntityMap
;
public
Map
<
String
,
List
<
VersionEntity
>>
getVersion
EntityMap
()
{
return
version
EntityMap
;
}
public
void
set
ServiceEntityMap
(
Map
<
String
,
List
<
DiscoveryServiceEntity
>>
service
EntityMap
)
{
this
.
serviceEntityMap
=
service
EntityMap
;
public
void
set
VersionEntityMap
(
Map
<
String
,
List
<
VersionEntity
>>
version
EntityMap
)
{
this
.
versionEntityMap
=
version
EntityMap
;
}
@Override
...
...
discovery-plugin-config-center/src/main/java/com/nepxion/discovery/plugin/configcenter/parser/xml/XmlConfigParser.java
View file @
0c5eecc3
...
...
@@ -25,7 +25,7 @@ import org.slf4j.LoggerFactory;
import
com.nepxion.discovery.common.constant.DiscoveryConstant
;
import
com.nepxion.discovery.common.entity.CountFilterEntity
;
import
com.nepxion.discovery.common.entity.DiscoveryEntity
;
import
com.nepxion.discovery.common.entity.
DiscoveryService
Entity
;
import
com.nepxion.discovery.common.entity.
Version
Entity
;
import
com.nepxion.discovery.common.entity.FilterHolderEntity
;
import
com.nepxion.discovery.common.entity.FilterType
;
import
com.nepxion.discovery.common.entity.HostFilterEntity
;
...
...
@@ -244,50 +244,50 @@ public class XmlConfigParser implements PluginConfigParser {
versionFilterEntity
=
new
VersionFilterEntity
();
Map
<
String
,
List
<
DiscoveryServiceEntity
>>
serviceEntityMap
=
versionFilterEntity
.
getService
EntityMap
();
Map
<
String
,
List
<
VersionEntity
>>
versionEntityMap
=
versionFilterEntity
.
getVersion
EntityMap
();
for
(
Iterator
elementIterator
=
element
.
elementIterator
();
elementIterator
.
hasNext
();)
{
Object
childElementObject
=
elementIterator
.
next
();
if
(
childElementObject
instanceof
Element
)
{
Element
childElement
=
(
Element
)
childElementObject
;
if
(
StringUtils
.
equals
(
childElement
.
getName
(),
ConfigConstant
.
SERVICE_ELEMENT_NAME
))
{
DiscoveryServiceEntity
serviceEntity
=
new
DiscoveryService
Entity
();
VersionEntity
versionEntity
=
new
Version
Entity
();
Attribute
consumerServiceNameAttribute
=
childElement
.
attribute
(
ConfigConstant
.
CONSUMER_SERVICE_NAME_ATTRIBUTE_NAME
);
if
(
consumerServiceNameAttribute
==
null
)
{
throw
new
DiscoveryException
(
"Attribute["
+
ConfigConstant
.
CONSUMER_SERVICE_NAME_ATTRIBUTE_NAME
+
"] in element["
+
childElement
.
getName
()
+
"] is missing"
);
}
String
consumerServiceName
=
consumerServiceNameAttribute
.
getData
().
toString
().
trim
();
service
Entity
.
setConsumerServiceName
(
consumerServiceName
);
version
Entity
.
setConsumerServiceName
(
consumerServiceName
);
Attribute
providerServiceNameAttribute
=
childElement
.
attribute
(
ConfigConstant
.
PROVIDER_SERVICE_NAME_ATTRIBUTE_NAME
);
if
(
providerServiceNameAttribute
==
null
)
{
throw
new
DiscoveryException
(
"Attribute["
+
ConfigConstant
.
PROVIDER_SERVICE_NAME_ATTRIBUTE_NAME
+
"] in element["
+
childElement
.
getName
()
+
"] is missing"
);
}
String
providerServiceName
=
providerServiceNameAttribute
.
getData
().
toString
().
trim
();
service
Entity
.
setProviderServiceName
(
providerServiceName
);
version
Entity
.
setProviderServiceName
(
providerServiceName
);
Attribute
consumerVersionValueAttribute
=
childElement
.
attribute
(
ConfigConstant
.
CONSUMER_VERSION_VALUE_ATTRIBUTE_NAME
);
if
(
consumerVersionValueAttribute
!=
null
)
{
String
consumerVersionValue
=
consumerVersionValueAttribute
.
getData
().
toString
().
trim
();
List
<
String
>
consumerVersionValueList
=
parseList
(
consumerVersionValue
);
service
Entity
.
setConsumerVersionValueList
(
consumerVersionValueList
);
version
Entity
.
setConsumerVersionValueList
(
consumerVersionValueList
);
}
Attribute
providerVersionValueAttribute
=
childElement
.
attribute
(
ConfigConstant
.
PROVIDER_VERSION_VALUE_ATTRIBUTE_NAME
);
if
(
providerVersionValueAttribute
!=
null
)
{
String
providerVersionValue
=
providerVersionValueAttribute
.
getData
().
toString
().
trim
();
List
<
String
>
providerVersionValueList
=
parseList
(
providerVersionValue
);
service
Entity
.
setProviderVersionValueList
(
providerVersionValueList
);
version
Entity
.
setProviderVersionValueList
(
providerVersionValueList
);
}
List
<
DiscoveryServiceEntity
>
serviceEntityList
=
service
EntityMap
.
get
(
consumerServiceName
);
if
(
service
EntityList
==
null
)
{
serviceEntityList
=
new
ArrayList
<
DiscoveryService
Entity
>();
serviceEntityMap
.
put
(
consumerServiceName
,
service
EntityList
);
List
<
VersionEntity
>
versionEntityList
=
version
EntityMap
.
get
(
consumerServiceName
);
if
(
version
EntityList
==
null
)
{
versionEntityList
=
new
ArrayList
<
Version
Entity
>();
versionEntityMap
.
put
(
consumerServiceName
,
version
EntityList
);
}
serviceEntityList
.
add
(
service
Entity
);
versionEntityList
.
add
(
version
Entity
);
}
}
}
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/VersionFilterDiscoveryListener.java
View file @
0c5eecc3
...
...
@@ -21,7 +21,7 @@ import org.springframework.cloud.client.ServiceInstance;
import
com.nepxion.discovery.common.constant.DiscoveryConstant
;
import
com.nepxion.discovery.common.entity.DiscoveryEntity
;
import
com.nepxion.discovery.common.entity.
DiscoveryService
Entity
;
import
com.nepxion.discovery.common.entity.
Version
Entity
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
com.nepxion.discovery.common.entity.VersionFilterEntity
;
...
...
@@ -55,13 +55,13 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
return
;
}
Map
<
String
,
List
<
DiscoveryServiceEntity
>>
serviceEntityMap
=
versionFilterEntity
.
getService
EntityMap
();
if
(
MapUtils
.
isEmpty
(
service
EntityMap
))
{
Map
<
String
,
List
<
VersionEntity
>>
versionEntityMap
=
versionFilterEntity
.
getVersion
EntityMap
();
if
(
MapUtils
.
isEmpty
(
version
EntityMap
))
{
return
;
}
List
<
DiscoveryServiceEntity
>
serviceEntityList
=
service
EntityMap
.
get
(
consumerServiceId
);
if
(
CollectionUtils
.
isEmpty
(
service
EntityList
))
{
List
<
VersionEntity
>
versionEntityList
=
version
EntityMap
.
get
(
consumerServiceId
);
if
(
CollectionUtils
.
isEmpty
(
version
EntityList
))
{
return
;
}
...
...
@@ -69,13 +69,13 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
List
<
String
>
allNoFilterValueList
=
null
;
// 提供端规则未作任何定义
boolean
providerConditionDefined
=
false
;
for
(
DiscoveryServiceEntity
serviceEntity
:
service
EntityList
)
{
String
providerServiceName
=
service
Entity
.
getProviderServiceName
();
for
(
VersionEntity
versionEntity
:
version
EntityList
)
{
String
providerServiceName
=
version
Entity
.
getProviderServiceName
();
if
(
StringUtils
.
equalsIgnoreCase
(
providerServiceName
,
providerServiceId
))
{
providerConditionDefined
=
true
;
List
<
String
>
consumerVersionValueList
=
service
Entity
.
getConsumerVersionValueList
();
List
<
String
>
providerVersionValueList
=
service
Entity
.
getProviderVersionValueList
();
List
<
String
>
consumerVersionValueList
=
version
Entity
.
getConsumerVersionValueList
();
List
<
String
>
providerVersionValueList
=
version
Entity
.
getProviderVersionValueList
();
// 判断consumer-version-value值是否包含当前消费端的版本号
// 如果consumerVersionValueList为空,表示消费端版本列表未指定,那么任意消费端版本可以访问指定版本提供端版本
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/VersionFilterLoadBalanceListener.java
View file @
0c5eecc3
...
...
@@ -19,7 +19,7 @@ import org.apache.commons.collections4.MapUtils;
import
org.apache.commons.lang3.StringUtils
;
import
com.nepxion.discovery.common.entity.DiscoveryEntity
;
import
com.nepxion.discovery.common.entity.
DiscoveryService
Entity
;
import
com.nepxion.discovery.common.entity.
Version
Entity
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
com.nepxion.discovery.common.entity.VersionFilterEntity
;
import
com.netflix.loadbalancer.Server
;
...
...
@@ -54,13 +54,13 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
return
;
}
Map
<
String
,
List
<
DiscoveryServiceEntity
>>
serviceEntityMap
=
versionFilterEntity
.
getService
EntityMap
();
if
(
MapUtils
.
isEmpty
(
service
EntityMap
))
{
Map
<
String
,
List
<
VersionEntity
>>
versionEntityMap
=
versionFilterEntity
.
getVersion
EntityMap
();
if
(
MapUtils
.
isEmpty
(
version
EntityMap
))
{
return
;
}
List
<
DiscoveryServiceEntity
>
serviceEntityList
=
service
EntityMap
.
get
(
consumerServiceId
);
if
(
CollectionUtils
.
isEmpty
(
service
EntityList
))
{
List
<
VersionEntity
>
versionEntityList
=
version
EntityMap
.
get
(
consumerServiceId
);
if
(
CollectionUtils
.
isEmpty
(
version
EntityList
))
{
return
;
}
...
...
@@ -68,13 +68,13 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
List
<
String
>
allNoFilterValueList
=
null
;
// 提供端规则未作任何定义
boolean
providerConditionDefined
=
false
;
for
(
DiscoveryServiceEntity
serviceEntity
:
service
EntityList
)
{
String
providerServiceName
=
service
Entity
.
getProviderServiceName
();
for
(
VersionEntity
versionEntity
:
version
EntityList
)
{
String
providerServiceName
=
version
Entity
.
getProviderServiceName
();
if
(
StringUtils
.
equalsIgnoreCase
(
providerServiceName
,
providerServiceId
))
{
providerConditionDefined
=
true
;
List
<
String
>
consumerVersionValueList
=
service
Entity
.
getConsumerVersionValueList
();
List
<
String
>
providerVersionValueList
=
service
Entity
.
getProviderVersionValueList
();
List
<
String
>
consumerVersionValueList
=
version
Entity
.
getConsumerVersionValueList
();
List
<
String
>
providerVersionValueList
=
version
Entity
.
getProviderVersionValueList
();
// 判断consumer-version-value值是否包含当前消费端的版本号
// 如果consumerVersionValueList为空,表示消费端版本列表未指定,那么任意消费端版本可以访问指定版本提供端版本
...
...
discovery-springcloud-example-gateway/src/main/resources/rule.json
View file @
0c5eecc3
...
...
@@ -33,7 +33,7 @@
}
},
"versionFilterEntity"
:
{
"
service
EntityMap"
:
{
"
version
EntityMap"
:
{
"discovery-springcloud-example-zuul"
:
[
{
"consumerServiceName"
:
"discovery-springcloud-example-zuul"
,
...
...
discovery-springcloud-example-service/src/main/resources/rule.json
View file @
0c5eecc3
...
...
@@ -33,7 +33,7 @@
}
},
"versionFilterEntity"
:
{
"
service
EntityMap"
:
{
"
version
EntityMap"
:
{
"discovery-springcloud-example-zuul"
:
[
{
"consumerServiceName"
:
"discovery-springcloud-example-zuul"
,
...
...
discovery-springcloud-example-zuul/src/main/resources/rule.json
View file @
0c5eecc3
...
...
@@ -33,7 +33,7 @@
}
},
"versionFilterEntity"
:
{
"
service
EntityMap"
:
{
"
version
EntityMap"
:
{
"discovery-springcloud-example-zuul"
:
[
{
"consumerServiceName"
:
"discovery-springcloud-example-zuul"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment