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
d127834e
Unverified
Commit
d127834e
authored
Oct 09, 2018
by
Neptune
Committed by
GitHub
Oct 09, 2018
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #13 from arebya/master
为listener增加优先级机制
parents
386b8178
5b8c9c81
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
141 additions
and
117 deletions
+141
-117
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/AbstractDiscoveryListener.java
+10
-3
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/DiscoveryListenerExecutor.java
+6
-17
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/HostFilterDiscoveryListener.java
+17
-8
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/VersionFilterDiscoveryListener.java
+18
-10
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/AbstractLoadBalanceListener.java
+8
-1
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/HostFilterLoadBalanceListener.java
+14
-7
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/LoadBalanceListenerExecutor.java
+5
-14
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/VersionFilterLoadBalanceListener.java
+17
-10
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/register/AbstractRegisterListener.java
+10
-3
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/register/CountFilterRegisterListener.java
+13
-5
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/register/HostFilterRegisterListener.java
+15
-7
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/register/RegisterListenerExecutor.java
+8
-32
No files found.
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/AbstractDiscoveryListener.java
View file @
d127834e
...
@@ -5,20 +5,26 @@ package com.nepxion.discovery.plugin.framework.listener.discovery;
...
@@ -5,20 +5,26 @@ package com.nepxion.discovery.plugin.framework.listener.discovery;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
com.nepxion.discovery.plugin.framework.listener.BasicListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.discovery.DiscoveryClient
;
import
org.springframework.cloud.client.discovery.DiscoveryClient
;
import
org.springframework.core.Ordered
;
import
com.nepxion.discovery.plugin.framework.listener.BasicListener
;
public
abstract
class
AbstractDiscoveryListener
extends
BasicListener
implements
DiscoveryListener
,
Ordered
{
public
abstract
class
AbstractDiscoveryListener
extends
BasicListener
implements
DiscoveryListener
{
@Autowired
@Autowired
protected
DiscoveryClient
discoveryClient
;
protected
DiscoveryClient
discoveryClient
;
public
DiscoveryClient
getDiscoveryClient
()
{
public
DiscoveryClient
getDiscoveryClient
()
{
return
discoveryClient
;
return
discoveryClient
;
}
}
@Override
public
int
getOrder
()
{
return
0
;
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/DiscoveryListenerExecutor.java
View file @
d127834e
...
@@ -5,45 +5,33 @@ package com.nepxion.discovery.plugin.framework.listener.discovery;
...
@@ -5,45 +5,33 @@ package com.nepxion.discovery.plugin.framework.listener.discovery;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.ServiceInstance
;
import
org.springframework.cloud.client.ServiceInstance
;
import
java.util.List
;
// 因为内置监听触发的时候,需要优先过滤,所以顺序执行
// 因为内置监听触发的时候,需要优先过滤,所以顺序执行
public
class
DiscoveryListenerExecutor
{
public
class
DiscoveryListenerExecutor
{
@Autowired
private
HostFilterDiscoveryListener
hostFilterDiscoveryListener
;
@Autowired
private
VersionFilterDiscoveryListener
versionFilterDiscoveryListener
;
@Autowired
@Autowired
private
List
<
DiscoveryListener
>
discoveryListenerList
;
private
List
<
DiscoveryListener
>
discoveryListenerList
;
public
void
onGetInstances
(
String
serviceId
,
List
<
ServiceInstance
>
instances
)
{
public
void
onGetInstances
(
String
serviceId
,
List
<
ServiceInstance
>
instances
)
{
hostFilterDiscoveryListener
.
onGetInstances
(
serviceId
,
instances
);
versionFilterDiscoveryListener
.
onGetInstances
(
serviceId
,
instances
);
for
(
DiscoveryListener
discoveryListener
:
discoveryListenerList
)
{
for
(
DiscoveryListener
discoveryListener
:
discoveryListenerList
)
{
if
(
discoveryListener
!=
hostFilterDiscoveryListener
&&
discoveryListener
!=
versionFilterDiscoveryListener
)
{
discoveryListener
.
onGetInstances
(
serviceId
,
instances
);
discoveryListener
.
onGetInstances
(
serviceId
,
instances
);
}
}
}
}
}
public
void
onGetServices
(
List
<
String
>
services
)
{
public
void
onGetServices
(
List
<
String
>
services
)
{
hostFilterDiscoveryListener
.
onGetServices
(
services
);
versionFilterDiscoveryListener
.
onGetServices
(
services
);
for
(
DiscoveryListener
discoveryListener
:
discoveryListenerList
)
{
for
(
DiscoveryListener
discoveryListener
:
discoveryListenerList
)
{
if
(
discoveryListener
!=
hostFilterDiscoveryListener
&&
discoveryListener
!=
versionFilterDiscoveryListener
)
{
discoveryListener
.
onGetServices
(
services
);
discoveryListener
.
onGetServices
(
services
);
}
}
}
}
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/HostFilterDiscoveryListener.java
View file @
d127834e
...
@@ -5,22 +5,23 @@ package com.nepxion.discovery.plugin.framework.listener.discovery;
...
@@ -5,22 +5,23 @@ package com.nepxion.discovery.plugin.framework.listener.discovery;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.cloud.client.ServiceInstance
;
import
com.nepxion.discovery.common.entity.DiscoveryEntity
;
import
com.nepxion.discovery.common.entity.DiscoveryEntity
;
import
com.nepxion.discovery.common.entity.FilterType
;
import
com.nepxion.discovery.common.entity.FilterType
;
import
com.nepxion.discovery.common.entity.HostFilterEntity
;
import
com.nepxion.discovery.common.entity.HostFilterEntity
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.cloud.client.ServiceInstance
;
import
org.springframework.core.Ordered
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
public
class
HostFilterDiscoveryListener
extends
AbstractDiscoveryListener
{
public
class
HostFilterDiscoveryListener
extends
AbstractDiscoveryListener
{
@Override
@Override
...
@@ -108,4 +109,11 @@ public class HostFilterDiscoveryListener extends AbstractDiscoveryListener {
...
@@ -108,4 +109,11 @@ public class HostFilterDiscoveryListener extends AbstractDiscoveryListener {
public
void
onGetServices
(
List
<
String
>
services
)
{
public
void
onGetServices
(
List
<
String
>
services
)
{
}
}
@Override
public
int
getOrder
()
{
// highest priority
return
Ordered
.
HIGHEST_PRECEDENCE
;
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/VersionFilterDiscoveryListener.java
View file @
d127834e
...
@@ -5,25 +5,26 @@ package com.nepxion.discovery.plugin.framework.listener.discovery;
...
@@ -5,25 +5,26 @@ package com.nepxion.discovery.plugin.framework.listener.discovery;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
java.util.ArrayLis
t
;
import
com.nepxion.discovery.common.constant.DiscoveryConstan
t
;
import
java.util.Iterator
;
import
com.nepxion.discovery.common.entity.DiscoveryEntity
;
import
java.util.List
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
java.util.Map
;
import
com.nepxion.discovery.common.entity.VersionEntity
;
import
com.nepxion.discovery.common.entity.VersionFilterEntity
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.cloud.client.ServiceInstance
;
import
org.springframework.cloud.client.ServiceInstance
;
import
org.springframework.core.Ordered
;
import
com.nepxion.discovery.common.constant.DiscoveryConstant
;
import
java.util.ArrayList
;
import
com.nepxion.discovery.common.entity.DiscoveryEntity
;
import
java.util.Iterator
;
import
com.nepxion.discovery.common.entity.VersionEntity
;
import
java.util.List
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
java.util.Map
;
import
com.nepxion.discovery.common.entity.VersionFilterEntity
;
public
class
VersionFilterDiscoveryListener
extends
AbstractDiscoveryListener
{
public
class
VersionFilterDiscoveryListener
extends
AbstractDiscoveryListener
{
@Override
@Override
...
@@ -125,4 +126,10 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
...
@@ -125,4 +126,10 @@ public class VersionFilterDiscoveryListener extends AbstractDiscoveryListener {
public
void
onGetServices
(
List
<
String
>
services
)
{
public
void
onGetServices
(
List
<
String
>
services
)
{
}
}
@Override
public
int
getOrder
()
{
// after host filter
return
Ordered
.
HIGHEST_PRECEDENCE
+
1
;
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/AbstractLoadBalanceListener.java
View file @
d127834e
...
@@ -10,7 +10,13 @@ package com.nepxion.discovery.plugin.framework.listener.loadbalance;
...
@@ -10,7 +10,13 @@ package com.nepxion.discovery.plugin.framework.listener.loadbalance;
*/
*/
import
com.nepxion.discovery.plugin.framework.listener.BasicListener
;
import
com.nepxion.discovery.plugin.framework.listener.BasicListener
;
import
org.springframework.core.Ordered
;
public
abstract
class
AbstractLoadBalanceListener
extends
BasicListener
implements
LoadBalanceListener
{
public
abstract
class
AbstractLoadBalanceListener
extends
BasicListener
implements
LoadBalanceListener
,
Ordered
{
@Override
public
int
getOrder
()
{
return
0
;
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/HostFilterLoadBalanceListener.java
View file @
d127834e
...
@@ -5,22 +5,23 @@ package com.nepxion.discovery.plugin.framework.listener.loadbalance;
...
@@ -5,22 +5,23 @@ package com.nepxion.discovery.plugin.framework.listener.loadbalance;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.collections4.CollectionUtils
;
import
com.nepxion.discovery.common.entity.DiscoveryEntity
;
import
com.nepxion.discovery.common.entity.DiscoveryEntity
;
import
com.nepxion.discovery.common.entity.FilterType
;
import
com.nepxion.discovery.common.entity.FilterType
;
import
com.nepxion.discovery.common.entity.HostFilterEntity
;
import
com.nepxion.discovery.common.entity.HostFilterEntity
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.Server
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.core.Ordered
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
public
class
HostFilterLoadBalanceListener
extends
AbstractLoadBalanceListener
{
public
class
HostFilterLoadBalanceListener
extends
AbstractLoadBalanceListener
{
@Override
@Override
...
@@ -103,4 +104,9 @@ public class HostFilterLoadBalanceListener extends AbstractLoadBalanceListener {
...
@@ -103,4 +104,9 @@ public class HostFilterLoadBalanceListener extends AbstractLoadBalanceListener {
return
matched
;
return
matched
;
}
}
@Override
public
int
getOrder
()
{
return
Ordered
.
HIGHEST_PRECEDENCE
;
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/LoadBalanceListenerExecutor.java
View file @
d127834e
...
@@ -5,24 +5,19 @@ package com.nepxion.discovery.plugin.framework.listener.loadbalance;
...
@@ -5,24 +5,19 @@ package com.nepxion.discovery.plugin.framework.listener.loadbalance;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.ZoneAwareLoadBalancer
;
import
com.netflix.loadbalancer.ZoneAwareLoadBalancer
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
java.util.List
;
// 因为内置监听触发的时候,需要优先过滤,所以顺序执行
// 因为内置监听触发的时候,需要优先过滤,所以顺序执行
public
class
LoadBalanceListenerExecutor
{
public
class
LoadBalanceListenerExecutor
{
@Autowired
private
HostFilterLoadBalanceListener
hostFilterLoadBalanceListener
;
@Autowired
private
VersionFilterLoadBalanceListener
versionFilterLoadBalanceListener
;
@Autowired
@Autowired
private
List
<
LoadBalanceListener
>
loadBalanceListenerList
;
private
List
<
LoadBalanceListener
>
loadBalanceListenerList
;
...
@@ -30,13 +25,9 @@ public class LoadBalanceListenerExecutor {
...
@@ -30,13 +25,9 @@ public class LoadBalanceListenerExecutor {
private
ZoneAwareLoadBalancer
<?>
loadBalancer
;
private
ZoneAwareLoadBalancer
<?>
loadBalancer
;
public
void
onGetServers
(
String
serviceId
,
List
<?
extends
Server
>
servers
)
{
public
void
onGetServers
(
String
serviceId
,
List
<?
extends
Server
>
servers
)
{
hostFilterLoadBalanceListener
.
onGetServers
(
serviceId
,
servers
);
versionFilterLoadBalanceListener
.
onGetServers
(
serviceId
,
servers
);
for
(
LoadBalanceListener
loadBalanceListener
:
loadBalanceListenerList
)
{
for
(
LoadBalanceListener
loadBalanceListener
:
loadBalanceListenerList
)
{
if
(
loadBalanceListener
!=
hostFilterLoadBalanceListener
&&
loadBalanceListener
!=
versionFilterLoadBalanceListener
)
{
loadBalanceListener
.
onGetServers
(
serviceId
,
servers
);
loadBalanceListener
.
onGetServers
(
serviceId
,
servers
);
}
}
}
}
}
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/loadbalance/VersionFilterLoadBalanceListener.java
View file @
d127834e
...
@@ -5,24 +5,25 @@ package com.nepxion.discovery.plugin.framework.listener.loadbalance;
...
@@ -5,24 +5,25 @@ package com.nepxion.discovery.plugin.framework.listener.loadbalance;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.collections4.CollectionUtils
;
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.DiscoveryEntity
;
import
com.nepxion.discovery.common.entity.VersionEntity
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
com.nepxion.discovery.common.entity.VersionEntity
;
import
com.nepxion.discovery.common.entity.VersionFilterEntity
;
import
com.nepxion.discovery.common.entity.VersionFilterEntity
;
import
com.netflix.loadbalancer.Server
;
import
com.netflix.loadbalancer.Server
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.MapUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.core.Ordered
;
import
java.util.ArrayList
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
public
class
VersionFilterLoadBalanceListener
extends
AbstractLoadBalanceListener
{
public
class
VersionFilterLoadBalanceListener
extends
AbstractLoadBalanceListener
{
@Override
@Override
...
@@ -119,4 +120,9 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
...
@@ -119,4 +120,9 @@ public class VersionFilterLoadBalanceListener extends AbstractLoadBalanceListene
}
}
}
}
}
}
@Override
public
int
getOrder
()
{
return
Ordered
.
HIGHEST_PRECEDENCE
+
1
;
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/register/AbstractRegisterListener.java
View file @
d127834e
...
@@ -5,20 +5,26 @@ package com.nepxion.discovery.plugin.framework.listener.register;
...
@@ -5,20 +5,26 @@ package com.nepxion.discovery.plugin.framework.listener.register;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
com.nepxion.discovery.plugin.framework.listener.BasicListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.serviceregistry.ServiceRegistry
;
import
org.springframework.cloud.client.serviceregistry.ServiceRegistry
;
import
org.springframework.core.Ordered
;
import
com.nepxion.discovery.plugin.framework.listener.BasicListener
;
public
abstract
class
AbstractRegisterListener
extends
BasicListener
implements
RegisterListener
,
Ordered
{
public
abstract
class
AbstractRegisterListener
extends
BasicListener
implements
RegisterListener
{
@Autowired
@Autowired
protected
ServiceRegistry
<?>
serviceRegistry
;
protected
ServiceRegistry
<?>
serviceRegistry
;
public
ServiceRegistry
<?>
getServiceRegistry
()
{
public
ServiceRegistry
<?>
getServiceRegistry
()
{
return
serviceRegistry
;
return
serviceRegistry
;
}
}
@Override
public
int
getOrder
()
{
return
0
;
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/register/CountFilterRegisterListener.java
View file @
d127834e
...
@@ -5,15 +5,11 @@ package com.nepxion.discovery.plugin.framework.listener.register;
...
@@ -5,15 +5,11 @@ package com.nepxion.discovery.plugin.framework.listener.register;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
java.util.Map
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.serviceregistry.Registration
;
import
com.nepxion.discovery.common.constant.DiscoveryConstant
;
import
com.nepxion.discovery.common.constant.DiscoveryConstant
;
import
com.nepxion.discovery.common.entity.CountFilterEntity
;
import
com.nepxion.discovery.common.entity.CountFilterEntity
;
import
com.nepxion.discovery.common.entity.RegisterEntity
;
import
com.nepxion.discovery.common.entity.RegisterEntity
;
...
@@ -21,6 +17,11 @@ import com.nepxion.discovery.common.entity.RuleEntity;
...
@@ -21,6 +17,11 @@ import com.nepxion.discovery.common.entity.RuleEntity;
import
com.nepxion.discovery.common.exception.DiscoveryException
;
import
com.nepxion.discovery.common.exception.DiscoveryException
;
import
com.nepxion.discovery.plugin.framework.decorator.DiscoveryClientDecorator
;
import
com.nepxion.discovery.plugin.framework.decorator.DiscoveryClientDecorator
;
import
com.nepxion.discovery.plugin.framework.event.RegisterFailureEvent
;
import
com.nepxion.discovery.plugin.framework.event.RegisterFailureEvent
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.serviceregistry.Registration
;
import
org.springframework.core.Ordered
;
import
java.util.Map
;
public
class
CountFilterRegisterListener
extends
AbstractRegisterListener
{
public
class
CountFilterRegisterListener
extends
AbstractRegisterListener
{
@Autowired
@Autowired
...
@@ -95,4 +96,10 @@ public class CountFilterRegisterListener extends AbstractRegisterListener {
...
@@ -95,4 +96,10 @@ public class CountFilterRegisterListener extends AbstractRegisterListener {
public
void
onClose
()
{
public
void
onClose
()
{
}
}
@Override
public
int
getOrder
()
{
// before host filter
return
Ordered
.
LOWEST_PRECEDENCE
-
1
;
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/register/HostFilterRegisterListener.java
View file @
d127834e
...
@@ -5,23 +5,24 @@ package com.nepxion.discovery.plugin.framework.listener.register;
...
@@ -5,23 +5,24 @@ package com.nepxion.discovery.plugin.framework.listener.register;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.cloud.client.serviceregistry.Registration
;
import
com.nepxion.discovery.common.entity.FilterType
;
import
com.nepxion.discovery.common.entity.FilterType
;
import
com.nepxion.discovery.common.entity.HostFilterEntity
;
import
com.nepxion.discovery.common.entity.HostFilterEntity
;
import
com.nepxion.discovery.common.entity.RegisterEntity
;
import
com.nepxion.discovery.common.entity.RegisterEntity
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
com.nepxion.discovery.common.entity.RuleEntity
;
import
com.nepxion.discovery.common.exception.DiscoveryException
;
import
com.nepxion.discovery.common.exception.DiscoveryException
;
import
com.nepxion.discovery.plugin.framework.event.RegisterFailureEvent
;
import
com.nepxion.discovery.plugin.framework.event.RegisterFailureEvent
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.cloud.client.serviceregistry.Registration
;
import
org.springframework.core.Ordered
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
public
class
HostFilterRegisterListener
extends
AbstractRegisterListener
{
public
class
HostFilterRegisterListener
extends
AbstractRegisterListener
{
@Override
@Override
...
@@ -122,4 +123,10 @@ public class HostFilterRegisterListener extends AbstractRegisterListener {
...
@@ -122,4 +123,10 @@ public class HostFilterRegisterListener extends AbstractRegisterListener {
public
void
onClose
()
{
public
void
onClose
()
{
}
}
@Override
public
int
getOrder
()
{
// lowest priority
return
Ordered
.
LOWEST_PRECEDENCE
;
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/register/RegisterListenerExecutor.java
View file @
d127834e
...
@@ -5,67 +5,44 @@ package com.nepxion.discovery.plugin.framework.listener.register;
...
@@ -5,67 +5,44 @@ package com.nepxion.discovery.plugin.framework.listener.register;
* <p>Description: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* <p>Company: Nepxion</p>
*
* @author Haojun Ren
* @author Haojun Ren
* @version 1.0
* @version 1.0
*/
*/
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.serviceregistry.Registration
;
import
org.springframework.cloud.client.serviceregistry.Registration
;
import
java.util.List
;
// 因为内置监听触发的时候,会抛异常处理,所以逆序执行
// 因为内置监听触发的时候,会抛异常处理,所以逆序执行
public
class
RegisterListenerExecutor
{
public
class
RegisterListenerExecutor
{
@Autowired
private
CountFilterRegisterListener
countFilterRegisterListener
;
@Autowired
private
HostFilterRegisterListener
hostFilterRegisterListener
;
@Autowired
@Autowired
private
List
<
RegisterListener
>
registerListenerList
;
private
List
<
RegisterListener
>
registerListenerList
;
public
void
onRegister
(
Registration
registration
)
{
public
void
onRegister
(
Registration
registration
)
{
for
(
RegisterListener
registerListener
:
registerListenerList
)
{
for
(
RegisterListener
registerListener
:
registerListenerList
)
{
if
(
registerListener
!=
countFilterRegisterListener
&&
registerListener
!=
hostFilterRegisterListener
)
{
registerListener
.
onRegister
(
registration
);
registerListener
.
onRegister
(
registration
);
}
}
}
countFilterRegisterListener
.
onRegister
(
registration
);
hostFilterRegisterListener
.
onRegister
(
registration
);
}
}
public
void
onDeregister
(
Registration
registration
)
{
public
void
onDeregister
(
Registration
registration
)
{
for
(
RegisterListener
registerListener
:
registerListenerList
)
{
for
(
RegisterListener
registerListener
:
registerListenerList
)
{
if
(
registerListener
!=
countFilterRegisterListener
&&
registerListener
!=
hostFilterRegisterListener
)
{
registerListener
.
onDeregister
(
registration
);
registerListener
.
onDeregister
(
registration
);
}
}
countFilterRegisterListener
.
onDeregister
(
registration
);
}
hostFilterRegisterListener
.
onDeregister
(
registration
);
}
}
public
void
onSetStatus
(
Registration
registration
,
String
status
)
{
public
void
onSetStatus
(
Registration
registration
,
String
status
)
{
for
(
RegisterListener
registerListener
:
registerListenerList
)
{
for
(
RegisterListener
registerListener
:
registerListenerList
)
{
if
(
registerListener
!=
countFilterRegisterListener
&&
registerListener
!=
hostFilterRegisterListener
)
{
registerListener
.
onSetStatus
(
registration
,
status
);
registerListener
.
onSetStatus
(
registration
,
status
);
}
}
}
countFilterRegisterListener
.
onSetStatus
(
registration
,
status
);
hostFilterRegisterListener
.
onSetStatus
(
registration
,
status
);
}
}
public
void
onClose
()
{
public
void
onClose
()
{
for
(
RegisterListener
registerListener
:
registerListenerList
)
{
for
(
RegisterListener
registerListener
:
registerListenerList
)
{
if
(
registerListener
!=
countFilterRegisterListener
&&
registerListener
!=
hostFilterRegisterListener
)
{
registerListener
.
onClose
();
registerListener
.
onClose
();
}
}
}
countFilterRegisterListener
.
onClose
();
hostFilterRegisterListener
.
onClose
();
}
}
}
}
\ 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