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
94e19997
Commit
94e19997
authored
Oct 09, 2018
by
shiya_dxm
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add order to listener
parent
386b8178
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
136 additions
and
107 deletions
+136
-107
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/discovery/AbstractDiscoveryListener.java
+11
-1
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
+11
-0
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 @
94e19997
...
@@ -5,6 +5,7 @@ package com.nepxion.discovery.plugin.framework.listener.discovery;
...
@@ -5,6 +5,7 @@ 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
*/
*/
...
@@ -13,12 +14,20 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -13,12 +14,20 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.cloud.client.discovery.DiscoveryClient
;
import
org.springframework.cloud.client.discovery.DiscoveryClient
;
import
com.nepxion.discovery.plugin.framework.listener.BasicListener
;
import
com.nepxion.discovery.plugin.framework.listener.BasicListener
;
import
org.springframework.core.Ordered
;
public
abstract
class
AbstractDiscoveryListener
extends
BasicListener
implements
DiscoveryListener
{
import
javax.annotation.Priority
;
public
abstract
class
AbstractDiscoveryListener
extends
BasicListener
implements
DiscoveryListener
,
Ordered
{
@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 @
94e19997
...
@@ -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 @
94e19997
...
@@ -5,6 +5,7 @@ package com.nepxion.discovery.plugin.framework.listener.discovery;
...
@@ -5,6 +5,7 @@ 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
*/
*/
...
@@ -21,6 +22,8 @@ import com.nepxion.discovery.common.entity.DiscoveryEntity;
...
@@ -21,6 +22,8 @@ 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.springframework.core.Ordered
;
import
org.springframework.core.annotation.Order
;
public
class
HostFilterDiscoveryListener
extends
AbstractDiscoveryListener
{
public
class
HostFilterDiscoveryListener
extends
AbstractDiscoveryListener
{
@Override
@Override
...
@@ -108,4 +111,11 @@ public class HostFilterDiscoveryListener extends AbstractDiscoveryListener {
...
@@ -108,4 +111,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 @
94e19997
...
@@ -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 @
94e19997
...
@@ -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 @
94e19997
...
@@ -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 @
94e19997
...
@@ -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 @
94e19997
...
@@ -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 @
94e19997
...
@@ -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 @
94e19997
...
@@ -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 @
94e19997
...
@@ -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 @
94e19997
...
@@ -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