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
527c004c
Commit
527c004c
authored
Jun 27, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重构成Listener
parent
9a0399ee
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
102 additions
and
99 deletions
+102
-99
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/configuration/PluginAutoConfiguration.java
+16
-15
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/decorator/DiscoveryClientDecorator.java
+5
-5
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/decorator/EurekaServiceRegistryDecorator.java
+9
-9
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/AbstractDiscoveryListener.java
+2
-2
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/AbstractRegisterListener.java
+2
-2
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/BasicListener.java
+2
-2
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/DiscoveryListener.java
+2
-2
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/DiscoveryListenerExecutor.java
+17
-17
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/Listener.java
+2
-2
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/RegisterListener.java
+2
-2
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/RegisterListenerExecutor.java
+22
-21
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/impl/IpAddressFilterDiscoveryListener.java
+3
-3
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/impl/IpAddressFilterRegisterListener.java
+4
-4
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/listener/impl/VersionFilterDiscoveryListener.java
+3
-3
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
+7
-6
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/extension/MyDiscoveryListener.java
+2
-2
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/extension/MyRegisterListener.java
+2
-2
No files found.
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/configuration/PluginAutoConfiguration.java
View file @
527c004c
...
...
@@ -17,11 +17,11 @@ import org.springframework.context.annotation.Configuration;
import
com.nepxion.discovery.plugin.framework.context.PluginContextAware
;
import
com.nepxion.discovery.plugin.framework.entity.RuleEntity
;
import
com.nepxion.discovery.plugin.framework.event.PluginPublisher
;
import
com.nepxion.discovery.plugin.framework.
strategy.DiscoveryStrategy
Executor
;
import
com.nepxion.discovery.plugin.framework.
strategy.RegisterStrategy
Executor
;
import
com.nepxion.discovery.plugin.framework.
strategy.impl.IpAddressFilterDiscoveryStrategy
;
import
com.nepxion.discovery.plugin.framework.
strategy.impl.IpAddressFilterRegisterStrategy
;
import
com.nepxion.discovery.plugin.framework.
strategy.impl.VersionFilterDiscoveryStrategy
;
import
com.nepxion.discovery.plugin.framework.
listener.DiscoveryListener
Executor
;
import
com.nepxion.discovery.plugin.framework.
listener.RegisterListener
Executor
;
import
com.nepxion.discovery.plugin.framework.
listener.impl.IpAddressFilterDiscoveryListener
;
import
com.nepxion.discovery.plugin.framework.
listener.impl.IpAddressFilterRegisterListener
;
import
com.nepxion.discovery.plugin.framework.
listener.impl.VersionFilterDiscoveryListener
;
@Configuration
public
class
PluginAutoConfiguration
{
...
...
@@ -60,27 +60,27 @@ public class PluginAutoConfiguration {
}
@Bean
public
Register
StrategyExecutor
registerStrategy
Executor
()
{
return
new
Register
Strategy
Executor
();
public
Register
ListenerExecutor
registerListener
Executor
()
{
return
new
Register
Listener
Executor
();
}
@Bean
public
Discovery
StrategyExecutor
discoveryStrategy
Executor
()
{
return
new
Discovery
Strategy
Executor
();
public
Discovery
ListenerExecutor
discoveryListener
Executor
()
{
return
new
Discovery
Listener
Executor
();
}
@Bean
public
IpAddressFilterRegister
Strategy
ipAddressFilterRegisterStrategy
()
{
return
new
IpAddressFilterRegister
Strategy
();
public
IpAddressFilterRegister
Listener
ipAddressFilterRegisterListener
()
{
return
new
IpAddressFilterRegister
Listener
();
}
@Bean
public
IpAddressFilterDiscovery
Strategy
ipAddressFilterDiscoveryStrategy
()
{
return
new
IpAddressFilterDiscovery
Strategy
();
public
IpAddressFilterDiscovery
Listener
ipAddressFilterDiscoveryListener
()
{
return
new
IpAddressFilterDiscovery
Listener
();
}
@Bean
public
VersionFilterDiscovery
Strategy
versionFilterDiscoveryStrategy
()
{
return
new
VersionFilterDiscovery
Strategy
();
public
VersionFilterDiscovery
Listener
versionFilterDiscoveryListener
()
{
return
new
VersionFilterDiscovery
Listener
();
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/decorator/DiscoveryClientDecorator.java
View file @
527c004c
...
...
@@ -17,7 +17,7 @@ import org.springframework.context.ConfigurableApplicationContext;
import
org.springframework.core.env.ConfigurableEnvironment
;
import
com.nepxion.discovery.plugin.framework.context.PluginContextAware
;
import
com.nepxion.discovery.plugin.framework.
strategy.DiscoveryStrategy
Executor
;
import
com.nepxion.discovery.plugin.framework.
listener.DiscoveryListener
Executor
;
public
class
DiscoveryClientDecorator
implements
DiscoveryClient
{
private
DiscoveryClient
discoveryClient
;
...
...
@@ -36,8 +36,8 @@ public class DiscoveryClientDecorator implements DiscoveryClient {
Boolean
discoveryControlEnabled
=
PluginContextAware
.
isDiscoveryControlEnabled
(
environment
);
if
(
discoveryControlEnabled
)
{
Discovery
StrategyExecutor
discoveryStrategyExecutor
=
applicationContext
.
getBean
(
DiscoveryStrategy
Executor
.
class
);
discovery
Strategy
Executor
.
fireGetInstances
(
serviceId
,
instances
);
Discovery
ListenerExecutor
discoveryListenerExecutor
=
applicationContext
.
getBean
(
DiscoveryListener
Executor
.
class
);
discovery
Listener
Executor
.
fireGetInstances
(
serviceId
,
instances
);
}
return
instances
;
...
...
@@ -49,8 +49,8 @@ public class DiscoveryClientDecorator implements DiscoveryClient {
Boolean
discoveryControlEnabled
=
PluginContextAware
.
isDiscoveryControlEnabled
(
environment
);
if
(
discoveryControlEnabled
)
{
Discovery
StrategyExecutor
discoveryStrategyExecutor
=
applicationContext
.
getBean
(
DiscoveryStrategy
Executor
.
class
);
discovery
Strategy
Executor
.
fireGetServices
(
services
);
Discovery
ListenerExecutor
discoveryListenerExecutor
=
applicationContext
.
getBean
(
DiscoveryListener
Executor
.
class
);
discovery
Listener
Executor
.
fireGetServices
(
services
);
}
return
services
;
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/decorator/EurekaServiceRegistryDecorator.java
View file @
527c004c
...
...
@@ -16,7 +16,7 @@ import org.springframework.context.ConfigurableApplicationContext;
import
org.springframework.core.env.ConfigurableEnvironment
;
import
com.nepxion.discovery.plugin.framework.context.PluginContextAware
;
import
com.nepxion.discovery.plugin.framework.
strategy.RegisterStrategy
Executor
;
import
com.nepxion.discovery.plugin.framework.
listener.RegisterListener
Executor
;
public
class
EurekaServiceRegistryDecorator
extends
EurekaServiceRegistry
{
private
ServiceRegistry
<
EurekaRegistration
>
serviceRegistry
;
...
...
@@ -33,8 +33,8 @@ public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry {
public
void
register
(
EurekaRegistration
registration
)
{
Boolean
registerControlEnabled
=
PluginContextAware
.
isRegisterControlEnabled
(
environment
);
if
(
registerControlEnabled
)
{
Register
StrategyExecutor
registerStrategyExecutor
=
applicationContext
.
getBean
(
RegisterStrategy
Executor
.
class
);
register
Strategy
Executor
.
fireRegister
(
registration
);
Register
ListenerExecutor
registerListenerExecutor
=
applicationContext
.
getBean
(
RegisterListener
Executor
.
class
);
register
Listener
Executor
.
fireRegister
(
registration
);
}
serviceRegistry
.
register
(
registration
);
...
...
@@ -44,8 +44,8 @@ public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry {
public
void
deregister
(
EurekaRegistration
registration
)
{
Boolean
registerControlEnabled
=
PluginContextAware
.
isRegisterControlEnabled
(
environment
);
if
(
registerControlEnabled
)
{
Register
StrategyExecutor
registerStrategyExecutor
=
applicationContext
.
getBean
(
RegisterStrategy
Executor
.
class
);
register
Strategy
Executor
.
fireDeregister
(
registration
);
Register
ListenerExecutor
registerListenerExecutor
=
applicationContext
.
getBean
(
RegisterListener
Executor
.
class
);
register
Listener
Executor
.
fireDeregister
(
registration
);
}
serviceRegistry
.
deregister
(
registration
);
...
...
@@ -55,8 +55,8 @@ public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry {
public
void
setStatus
(
EurekaRegistration
registration
,
String
status
)
{
Boolean
registerControlEnabled
=
PluginContextAware
.
isRegisterControlEnabled
(
environment
);
if
(
registerControlEnabled
)
{
Register
StrategyExecutor
registerStrategyExecutor
=
applicationContext
.
getBean
(
RegisterStrategy
Executor
.
class
);
register
Strategy
Executor
.
fireSetStatus
(
registration
,
status
);
Register
ListenerExecutor
registerListenerExecutor
=
applicationContext
.
getBean
(
RegisterListener
Executor
.
class
);
register
Listener
Executor
.
fireSetStatus
(
registration
,
status
);
}
serviceRegistry
.
setStatus
(
registration
,
status
);
...
...
@@ -71,8 +71,8 @@ public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry {
public
void
close
()
{
Boolean
registerControlEnabled
=
PluginContextAware
.
isRegisterControlEnabled
(
environment
);
if
(
registerControlEnabled
)
{
Register
StrategyExecutor
registerStrategyExecutor
=
applicationContext
.
getBean
(
RegisterStrategy
Executor
.
class
);
register
Strategy
Executor
.
fireClose
();
Register
ListenerExecutor
registerListenerExecutor
=
applicationContext
.
getBean
(
RegisterListener
Executor
.
class
);
register
Listener
Executor
.
fireClose
();
}
serviceRegistry
.
close
();
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/AbstractDiscoveryStrategy
.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/AbstractDiscoveryListener
.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -12,7 +12,7 @@ package com.nepxion.discovery.plugin.framework.strategy;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.discovery.DiscoveryClient
;
public
abstract
class
AbstractDiscovery
Strategy
extends
BasicStrategy
implements
DiscoveryStrategy
{
public
abstract
class
AbstractDiscovery
Listener
extends
BasicListener
implements
DiscoveryListener
{
@Autowired
protected
DiscoveryClient
discoveryClient
;
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/AbstractRegisterStrategy
.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/AbstractRegisterListener
.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -12,7 +12,7 @@ package com.nepxion.discovery.plugin.framework.strategy;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.serviceregistry.ServiceRegistry
;
public
abstract
class
AbstractRegister
Strategy
extends
BasicStrategy
implements
RegisterStrategy
{
public
abstract
class
AbstractRegister
Listener
extends
BasicListener
implements
RegisterListener
{
@Autowired
protected
ServiceRegistry
<?>
serviceRegistry
;
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/BasicStrategy
.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/BasicListener
.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -13,7 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.core.env.ConfigurableEnvironment
;
public
class
Basic
Strategy
implements
Strategy
{
public
class
Basic
Listener
implements
Listener
{
@Autowired
protected
ConfigurableApplicationContext
applicationContext
;
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/DiscoveryStrategy
.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/DiscoveryListener
.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -13,7 +13,7 @@ import java.util.List;
import
org.springframework.cloud.client.ServiceInstance
;
public
interface
Discovery
Strategy
extends
Strategy
{
public
interface
Discovery
Listener
extends
Listener
{
void
fireGetInstances
(
String
serviceId
,
List
<
ServiceInstance
>
instances
);
void
fireGetServices
(
List
<
String
>
services
);
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/DiscoveryStrategy
Executor.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/DiscoveryListener
Executor.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -15,19 +15,19 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.ServiceInstance
;
import
com.nepxion.discovery.plugin.framework.
strategy.impl.IpAddressFilterDiscoveryStrategy
;
import
com.nepxion.discovery.plugin.framework.
strategy.impl.VersionFilterDiscoveryStrategy
;
import
com.nepxion.discovery.plugin.framework.
listener.impl.IpAddressFilterDiscoveryListener
;
import
com.nepxion.discovery.plugin.framework.
listener.impl.VersionFilterDiscoveryListener
;
// 因为内置监听触发的时候,需要优先过滤,所以顺序执行
public
class
Discovery
Strategy
Executor
{
public
class
Discovery
Listener
Executor
{
@Autowired
private
IpAddressFilterDiscovery
Strategy
ipAddressFilterDiscoveryStrategy
;
private
IpAddressFilterDiscovery
Listener
ipAddressFilterDiscoveryListener
;
@Autowired
private
VersionFilterDiscovery
Strategy
versionFilterDiscoveryStrategy
;
private
VersionFilterDiscovery
Listener
versionFilterDiscoveryListener
;
@Autowired
private
List
<
Discovery
Strategy
>
discoveryStrategy
List
;
private
List
<
Discovery
Listener
>
discoveryListener
List
;
@Autowired
private
ReentrantReadWriteLock
reentrantReadWriteLock
;
...
...
@@ -36,12 +36,12 @@ public class DiscoveryStrategyExecutor {
try
{
reentrantReadWriteLock
.
readLock
().
lock
();
ipAddressFilterDiscovery
Strategy
.
fireGetInstances
(
serviceId
,
instances
);
versionFilterDiscovery
Strategy
.
fireGetInstances
(
serviceId
,
instances
);
ipAddressFilterDiscovery
Listener
.
fireGetInstances
(
serviceId
,
instances
);
versionFilterDiscovery
Listener
.
fireGetInstances
(
serviceId
,
instances
);
for
(
Discovery
Strategy
discoveryStrategy
:
discoveryStrategy
List
)
{
if
(
discovery
Strategy
!=
ipAddressFilterDiscoveryStrategy
&&
discoveryStrategy
!=
versionFilterDiscoveryStrategy
)
{
discovery
Strategy
.
fireGetInstances
(
serviceId
,
instances
);
for
(
Discovery
Listener
discoveryListener
:
discoveryListener
List
)
{
if
(
discovery
Listener
!=
ipAddressFilterDiscoveryListener
&&
discoveryListener
!=
versionFilterDiscoveryListener
)
{
discovery
Listener
.
fireGetInstances
(
serviceId
,
instances
);
}
}
}
finally
{
...
...
@@ -50,12 +50,12 @@ public class DiscoveryStrategyExecutor {
}
public
void
fireGetServices
(
List
<
String
>
services
)
{
ipAddressFilterDiscovery
Strategy
.
fireGetServices
(
services
);
versionFilterDiscovery
Strategy
.
fireGetServices
(
services
);
ipAddressFilterDiscovery
Listener
.
fireGetServices
(
services
);
versionFilterDiscovery
Listener
.
fireGetServices
(
services
);
for
(
Discovery
Strategy
discoveryStrategy
:
discoveryStrategy
List
)
{
if
(
discovery
Strategy
!=
ipAddressFilterDiscoveryStrategy
&&
discoveryStrategy
!=
versionFilterDiscoveryStrategy
)
{
discovery
Strategy
.
fireGetServices
(
services
);
for
(
Discovery
Listener
discoveryListener
:
discoveryListener
List
)
{
if
(
discovery
Listener
!=
ipAddressFilterDiscoveryListener
&&
discoveryListener
!=
versionFilterDiscoveryListener
)
{
discovery
Listener
.
fireGetServices
(
services
);
}
}
}
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/Strategy
.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/Listener
.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -12,7 +12,7 @@ package com.nepxion.discovery.plugin.framework.strategy;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.core.env.ConfigurableEnvironment
;
public
interface
Strategy
{
public
interface
Listener
{
ConfigurableApplicationContext
getApplicationContext
();
ConfigurableEnvironment
getEnvironment
();
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/RegisterStrategy
.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/RegisterListener
.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -11,7 +11,7 @@ package com.nepxion.discovery.plugin.framework.strategy;
import
org.springframework.cloud.client.serviceregistry.Registration
;
public
interface
Register
Strategy
extends
Strategy
{
public
interface
Register
Listener
extends
Listener
{
void
fireRegister
(
Registration
registration
);
void
fireDeregister
(
Registration
registration
);
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/RegisterStrategy
Executor.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/RegisterListener
Executor.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -15,15 +15,15 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.serviceregistry.Registration
;
import
com.nepxion.discovery.plugin.framework.
strategy.impl.IpAddressFilterRegisterStrategy
;
import
com.nepxion.discovery.plugin.framework.
listener.impl.IpAddressFilterRegisterListener
;
// 因为内置监听触发的时候,会抛异常处理,所以逆序执行
public
class
Register
Strategy
Executor
{
public
class
Register
Listener
Executor
{
@Autowired
private
IpAddressFilterRegister
Strategy
ipAddressFilterRegisterStrategy
;
private
IpAddressFilterRegister
Listener
ipAddressFilterRegisterListener
;
@Autowired
private
List
<
Register
Strategy
>
registerStrategy
List
;
private
List
<
Register
Listener
>
registerListener
List
;
@Autowired
private
ReentrantReadWriteLock
reentrantReadWriteLock
;
...
...
@@ -32,45 +32,45 @@ public class RegisterStrategyExecutor {
try
{
reentrantReadWriteLock
.
readLock
().
lock
();
for
(
Register
Strategy
registerStrategy
:
registerStrategy
List
)
{
if
(
register
Strategy
!=
ipAddressFilterRegisterStrategy
)
{
register
Strategy
.
fireRegister
(
registration
);
for
(
Register
Listener
registerListener
:
registerListener
List
)
{
if
(
register
Listener
!=
ipAddressFilterRegisterListener
)
{
register
Listener
.
fireRegister
(
registration
);
}
}
ipAddressFilterRegister
Strategy
.
fireRegister
(
registration
);
ipAddressFilterRegister
Listener
.
fireRegister
(
registration
);
}
finally
{
reentrantReadWriteLock
.
readLock
().
unlock
();
}
}
public
void
fireDeregister
(
Registration
registration
)
{
for
(
Register
Strategy
registerStrategy
:
registerStrategy
List
)
{
if
(
register
Strategy
!=
ipAddressFilterRegisterStrategy
)
{
register
Strategy
.
fireDeregister
(
registration
);
for
(
Register
Listener
registerListener
:
registerListener
List
)
{
if
(
register
Listener
!=
ipAddressFilterRegisterListener
)
{
register
Listener
.
fireDeregister
(
registration
);
}
}
ipAddressFilterRegister
Strategy
.
fireDeregister
(
registration
);
ipAddressFilterRegister
Listener
.
fireDeregister
(
registration
);
}
public
void
fireSetStatus
(
Registration
registration
,
String
status
)
{
for
(
Register
Strategy
registerStrategy
:
registerStrategy
List
)
{
if
(
register
Strategy
!=
ipAddressFilterRegisterStrategy
)
{
register
Strategy
.
fireSetStatus
(
registration
,
status
);
for
(
Register
Listener
registerListener
:
registerListener
List
)
{
if
(
register
Listener
!=
ipAddressFilterRegisterListener
)
{
register
Listener
.
fireSetStatus
(
registration
,
status
);
}
}
ipAddressFilterRegister
Strategy
.
fireSetStatus
(
registration
,
status
);
ipAddressFilterRegister
Listener
.
fireSetStatus
(
registration
,
status
);
}
public
void
fireClose
()
{
for
(
Register
Strategy
registerStrategy
:
registerStrategy
List
)
{
if
(
register
Strategy
!=
ipAddressFilterRegisterStrategy
)
{
register
Strategy
.
fireClose
();
for
(
Register
Listener
registerListener
:
registerListener
List
)
{
if
(
register
Listener
!=
ipAddressFilterRegisterListener
)
{
register
Listener
.
fireClose
();
}
}
ipAddressFilterRegister
Strategy
.
fireClose
();
ipAddressFilterRegister
Listener
.
fireClose
();
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/impl/IpAddressFilterDiscoveryStrategy
.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/impl/IpAddressFilterDiscoveryListener
.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
.
impl
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
.
impl
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -22,9 +22,9 @@ import com.nepxion.discovery.plugin.framework.entity.DiscoveryEntity;
import
com.nepxion.discovery.plugin.framework.entity.FilterEntity
;
import
com.nepxion.discovery.plugin.framework.entity.FilterType
;
import
com.nepxion.discovery.plugin.framework.entity.RuleEntity
;
import
com.nepxion.discovery.plugin.framework.
strategy.AbstractDiscoveryStrategy
;
import
com.nepxion.discovery.plugin.framework.
listener.AbstractDiscoveryListener
;
public
class
IpAddressFilterDiscovery
Strategy
extends
AbstractDiscoveryStrategy
{
public
class
IpAddressFilterDiscovery
Listener
extends
AbstractDiscoveryListener
{
@Autowired
private
RuleEntity
ruleEntity
;
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/impl/IpAddressFilterRegisterStrategy
.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/impl/IpAddressFilterRegisterListener
.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
.
impl
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
.
impl
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -25,10 +25,10 @@ import com.nepxion.discovery.plugin.framework.entity.FilterType;
import
com.nepxion.discovery.plugin.framework.entity.RegisterEntity
;
import
com.nepxion.discovery.plugin.framework.entity.RuleEntity
;
import
com.nepxion.discovery.plugin.framework.exception.PluginException
;
import
com.nepxion.discovery.plugin.framework.
strategy.AbstractRegisterStrategy
;
import
com.nepxion.discovery.plugin.framework.
listener.AbstractRegisterListener
;
public
class
IpAddressFilterRegister
Strategy
extends
AbstractRegisterStrategy
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
IpAddressFilterRegister
Strategy
.
class
);
public
class
IpAddressFilterRegister
Listener
extends
AbstractRegisterListener
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
IpAddressFilterRegister
Listener
.
class
);
@Autowired
private
RuleEntity
ruleEntity
;
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
strategy/impl/VersionFilterDiscoveryStrategy
.java
→
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/
listener/impl/VersionFilterDiscoveryListener
.java
View file @
527c004c
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
strategy
.
impl
;
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
listener
.
impl
;
/**
* <p>Title: Nepxion Discovery</p>
...
...
@@ -25,9 +25,9 @@ import com.nepxion.discovery.plugin.framework.entity.DiscoveryEntity;
import
com.nepxion.discovery.plugin.framework.entity.DiscoveryServiceEntity
;
import
com.nepxion.discovery.plugin.framework.entity.RuleEntity
;
import
com.nepxion.discovery.plugin.framework.entity.VersionEntity
;
import
com.nepxion.discovery.plugin.framework.
strategy.AbstractDiscoveryStrategy
;
import
com.nepxion.discovery.plugin.framework.
listener.AbstractDiscoveryListener
;
public
class
VersionFilterDiscovery
Strategy
extends
AbstractDiscoveryStrategy
{
public
class
VersionFilterDiscovery
Listener
extends
AbstractDiscoveryListener
{
@Autowired
private
RuleEntity
ruleEntity
;
...
...
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
View file @
527c004c
...
...
@@ -14,8 +14,8 @@ import org.springframework.boot.builder.SpringApplicationBuilder;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.context.annotation.Bean
;
import
com.nepxion.discovery.plugin.example.extension.MyDiscovery
Strategy
;
import
com.nepxion.discovery.plugin.example.extension.MyRegister
Strategy
;
import
com.nepxion.discovery.plugin.example.extension.MyDiscovery
Listener
;
import
com.nepxion.discovery.plugin.example.extension.MyRegister
Listener
;
import
com.nepxion.discovery.plugin.example.impl.DiscoveryConfigAdapter
;
@SpringBootApplication
...
...
@@ -31,12 +31,12 @@ public class DiscoveryApplication {
}
@Bean
public
MyRegister
Strategy
myRegisterStrategy
()
{
return
new
MyRegister
Strategy
();
public
MyRegister
Listener
myRegisterListener
()
{
return
new
MyRegister
Listener
();
}
@Bean
public
MyDiscovery
Strategy
myDiscoveryStrategy
()
{
return
new
MyDiscovery
Strategy
();
public
MyDiscovery
Listener
myDiscoveryListener
()
{
return
new
MyDiscovery
Listener
();
}
}
\ No newline at end of file
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/extension/MyDiscovery
Strategy
.java
→
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/extension/MyDiscovery
Listener
.java
View file @
527c004c
...
...
@@ -13,9 +13,9 @@ import java.util.List;
import
org.springframework.cloud.client.ServiceInstance
;
import
com.nepxion.discovery.plugin.framework.
strategy.AbstractDiscoveryStrategy
;
import
com.nepxion.discovery.plugin.framework.
listener.AbstractDiscoveryListener
;
public
class
MyDiscovery
Strategy
extends
AbstractDiscoveryStrategy
{
public
class
MyDiscovery
Listener
extends
AbstractDiscoveryListener
{
@Override
public
void
fireGetInstances
(
String
serviceId
,
List
<
ServiceInstance
>
instances
)
{
System
.
out
.
println
(
"========== getInstances() 被触发:serviceId="
+
serviceId
+
" instances="
+
instances
+
" =========="
);
...
...
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/extension/MyRegister
Strategy
.java
→
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/extension/MyRegister
Listener
.java
View file @
527c004c
...
...
@@ -11,9 +11,9 @@ package com.nepxion.discovery.plugin.example.extension;
import
org.springframework.cloud.client.serviceregistry.Registration
;
import
com.nepxion.discovery.plugin.framework.
strategy.AbstractRegisterStrategy
;
import
com.nepxion.discovery.plugin.framework.
listener.AbstractRegisterListener
;
public
class
MyRegister
Strategy
extends
AbstractRegisterStrategy
{
public
class
MyRegister
Listener
extends
AbstractRegisterListener
{
@Override
public
void
fireRegister
(
Registration
registration
)
{
...
...
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