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
2f312e3e
Commit
2f312e3e
authored
Jul 03, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复规则Bug
parent
4093b4b5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
53 additions
and
28 deletions
+53
-28
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/VersionFilterDiscoveryListener.java
+26
-14
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/VersionFilterLoadBalanceListener.java
+27
-14
No files found.
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/VersionFilterDiscoveryListener.java
View file @
2f312e3e
...
@@ -69,7 +69,7 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
...
@@ -69,7 +69,7 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
}
}
// 当前版本的消费端所能调用提供端的版本号列表
// 当前版本的消费端所能调用提供端的版本号列表
List
<
String
>
all
FilterValueList
=
new
ArrayList
<
String
>()
;
List
<
String
>
all
NoFilterValueList
=
null
;
for
(
DiscoveryServiceEntity
serviceEntity
:
serviceEntityList
)
{
for
(
DiscoveryServiceEntity
serviceEntity
:
serviceEntityList
)
{
String
providerServiceName
=
serviceEntity
.
getProviderServiceName
();
String
providerServiceName
=
serviceEntity
.
getProviderServiceName
();
if
(
StringUtils
.
equals
(
providerServiceName
,
providerServiceId
))
{
if
(
StringUtils
.
equals
(
providerServiceName
,
providerServiceId
))
{
...
@@ -77,32 +77,44 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
...
@@ -77,32 +77,44 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
List
<
String
>
providerVersionValueList
=
serviceEntity
.
getProviderVersionValueList
();
List
<
String
>
providerVersionValueList
=
serviceEntity
.
getProviderVersionValueList
();
// 判断consumer-version-value值是否包含当前消费端的版本号
// 判断consumer-version-value值是否包含当前消费端的版本号
// 如果consumerVersionValueList为空,表示消费端版本列表未指定,那么任意消费端版本可以访问指定版本提供端版本
if
(
CollectionUtils
.
isNotEmpty
(
consumerVersionValueList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
consumerVersionValueList
))
{
if
(
consumerVersionValueList
.
contains
(
consumerServiceVersion
))
{
if
(
consumerVersionValueList
.
contains
(
consumerServiceVersion
))
{
if
(
allNoFilterValueList
==
null
)
{
allNoFilterValueList
=
new
ArrayList
<
String
>();
}
if
(
CollectionUtils
.
isNotEmpty
(
providerVersionValueList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
providerVersionValueList
))
{
allFilterValueList
.
addAll
(
providerVersionValueList
);
all
No
FilterValueList
.
addAll
(
providerVersionValueList
);
}
}
}
}
}
else
{
}
else
{
if
(
allNoFilterValueList
==
null
)
{
allNoFilterValueList
=
new
ArrayList
<
String
>();
}
if
(
CollectionUtils
.
isNotEmpty
(
providerVersionValueList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
providerVersionValueList
))
{
allFilterValueList
.
addAll
(
providerVersionValueList
);
all
No
FilterValueList
.
addAll
(
providerVersionValueList
);
}
}
}
}
}
}
}
}
// 未找到相应的版本定义或者未定义
if
(
allNoFilterValueList
!=
null
)
{
if
(
CollectionUtils
.
isEmpty
(
allFilterValueList
))
{
// 当allNoFilterValueList为空列表,意味着版本对应关系未做任何定义(即所有的providerVersionValueList为空),不需要执行过滤,直接返回
return
;
if
(
allNoFilterValueList
.
isEmpty
())
{
}
return
;
}
else
{
Iterator
<
ServiceInstance
>
iterator
=
instances
.
iterator
();
Iterator
<
ServiceInstance
>
iterator
=
instances
.
iterator
();
while
(
iterator
.
hasNext
())
{
while
(
iterator
.
hasNext
())
{
ServiceInstance
serviceInstance
=
iterator
.
next
();
ServiceInstance
serviceInstance
=
iterator
.
next
();
String
metaDataVersion
=
serviceInstance
.
getMetadata
().
get
(
PluginConstant
.
VERSION
);
String
metaDataVersion
=
serviceInstance
.
getMetadata
().
get
(
PluginConstant
.
VERSION
);
if
(!
allFilterValueList
.
contains
(
metaDataVersion
))
{
if
(!
allNoFilterValueList
.
contains
(
metaDataVersion
))
{
iterator
.
remove
();
iterator
.
remove
();
}
}
}
}
}
else
{
// 当allNoFilterValueList为null, 意味着定义的版本关系都不匹配,直接清空所有实例
instances
.
clear
();
}
}
}
}
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/VersionFilterLoadBalanceListener.java
View file @
2f312e3e
...
@@ -69,7 +69,7 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
...
@@ -69,7 +69,7 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
}
}
// 当前版本的消费端所能调用提供端的版本号列表
// 当前版本的消费端所能调用提供端的版本号列表
List
<
String
>
all
FilterValueList
=
new
ArrayList
<
String
>()
;
List
<
String
>
all
NoFilterValueList
=
null
;
for
(
DiscoveryServiceEntity
serviceEntity
:
serviceEntityList
)
{
for
(
DiscoveryServiceEntity
serviceEntity
:
serviceEntityList
)
{
String
providerServiceName
=
serviceEntity
.
getProviderServiceName
();
String
providerServiceName
=
serviceEntity
.
getProviderServiceName
();
if
(
StringUtils
.
equals
(
providerServiceName
,
providerServiceId
))
{
if
(
StringUtils
.
equals
(
providerServiceName
,
providerServiceId
))
{
...
@@ -77,32 +77,44 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
...
@@ -77,32 +77,44 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
List
<
String
>
providerVersionValueList
=
serviceEntity
.
getProviderVersionValueList
();
List
<
String
>
providerVersionValueList
=
serviceEntity
.
getProviderVersionValueList
();
// 判断consumer-version-value值是否包含当前消费端的版本号
// 判断consumer-version-value值是否包含当前消费端的版本号
// 如果consumerVersionValueList为空,表示消费端版本列表未指定,那么任意消费端版本可以访问指定版本提供端版本
if
(
CollectionUtils
.
isNotEmpty
(
consumerVersionValueList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
consumerVersionValueList
))
{
if
(
consumerVersionValueList
.
contains
(
consumerServiceVersion
))
{
if
(
consumerVersionValueList
.
contains
(
consumerServiceVersion
))
{
if
(
allNoFilterValueList
==
null
)
{
allNoFilterValueList
=
new
ArrayList
<
String
>();
}
if
(
CollectionUtils
.
isNotEmpty
(
providerVersionValueList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
providerVersionValueList
))
{
allFilterValueList
.
addAll
(
providerVersionValueList
);
all
No
FilterValueList
.
addAll
(
providerVersionValueList
);
}
}
}
}
}
else
{
}
else
{
if
(
allNoFilterValueList
==
null
)
{
allNoFilterValueList
=
new
ArrayList
<
String
>();
}
if
(
CollectionUtils
.
isNotEmpty
(
providerVersionValueList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
providerVersionValueList
))
{
allFilterValueList
.
addAll
(
providerVersionValueList
);
all
No
FilterValueList
.
addAll
(
providerVersionValueList
);
}
}
}
}
}
}
}
}
// 未找到相应的版本定义或者未定义
if
(
allNoFilterValueList
!=
null
)
{
if
(
CollectionUtils
.
isEmpty
(
allFilterValueList
))
{
// 当allNoFilterValueList为空列表,意味着版本对应关系未做任何定义(即所有的providerVersionValueList为空),不需要执行过滤,直接返回
return
;
if
(
allNoFilterValueList
.
isEmpty
())
{
}
return
;
}
else
{
Iterator
<?
extends
Server
>
iterator
=
servers
.
iterator
();
Iterator
<?
extends
Server
>
iterator
=
servers
.
iterator
();
while
(
iterator
.
hasNext
())
{
while
(
iterator
.
hasNext
())
{
Server
server
=
iterator
.
next
();
Server
server
=
iterator
.
next
();
String
metaDataVersion
=
pluginAdapter
.
getServerVersion
(
server
);
String
metaDataVersion
=
pluginAdapter
.
getServerVersion
(
server
);
if
(!
allFilterValueList
.
contains
(
metaDataVersion
))
{
if
(!
allNoFilterValueList
.
contains
(
metaDataVersion
))
{
iterator
.
remove
();
iterator
.
remove
();
}
}
}
}
}
else
{
// 当allNoFilterValueList为null, 意味着定义的版本关系都不匹配,直接清空所有实例
servers
.
clear
();
}
}
}
}
}
}
\ No newline at end of file
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