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
069826ae
Commit
069826ae
authored
Jun 25, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重构类结构
parent
97c2ff4d
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
83 additions
and
43 deletions
+83
-43
discovery-plugin-admin-center/src/main/java/com/nepxion/discovery/plugin/admincenter/endpoint/AdminEndpoint.java
+8
-21
discovery-plugin-config-center/src/main/java/com/nepxion/discovery/plugin/configcenter/ConfigInitializer.java
+7
-10
discovery-plugin-config-center/src/main/java/com/nepxion/discovery/plugin/configcenter/ConfigSubscriber.java
+6
-7
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/configuration/PluginAutoConfiguration.java
+8
-2
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/context/PluginContextAware.java
+50
-0
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/decorator/DiscoveryClientDecorator.java
+2
-1
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/decorator/EurekaServiceRegistryDecorator.java
+2
-2
No files found.
discovery-plugin-admin-center/src/main/java/com/nepxion/discovery/plugin/admincenter/endpoint/AdminEndpoint.java
View file @
069826ae
...
...
@@ -16,14 +16,10 @@ import java.util.Collections;
import
org.apache.commons.io.IOUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.BeansException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.actuate.endpoint.mvc.AbstractMvcEndpoint
;
import
org.springframework.cloud.client.serviceregistry.Registration
;
import
org.springframework.cloud.client.serviceregistry.ServiceRegistry
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.jmx.export.annotation.ManagedOperation
;
...
...
@@ -34,21 +30,24 @@ import org.springframework.web.bind.annotation.RequestMethod;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
com.nepxion.discovery.plugin.framework.constant.PluginConstant
;
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.exception.PluginException
;
@ManagedResource
(
description
=
"Admin Endpoint"
)
@SuppressWarnings
(
"unchecked"
)
public
class
AdminEndpoint
extends
AbstractMvcEndpoint
implements
ApplicationContextAware
{
public
class
AdminEndpoint
extends
AbstractMvcEndpoint
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
AdminEndpoint
.
class
);
private
ConfigurableApplicationContext
applicationContext
;
@SuppressWarnings
(
"rawtypes"
)
private
ServiceRegistry
serviceRegistry
;
private
Registration
registration
;
@Autowired
private
PluginContextAware
pluginContextAware
;
@Autowired
private
PluginPublisher
pluginPublisher
;
@Autowired
...
...
@@ -69,7 +68,7 @@ public class AdminEndpoint extends AbstractMvcEndpoint implements ApplicationCon
@ResponseBody
@ManagedOperation
public
Object
config
(
@RequestBody
String
config
)
{
Boolean
discoveryControlEnabled
=
getEnvironment
().
getProperty
(
PluginConstant
.
SPRING_APPLICATION_DISCOVERY_CONTROL_ENABLED
,
Boolean
.
class
,
Boolean
.
TRUE
);
Boolean
discoveryControlEnabled
=
pluginContextAware
.
isDiscoveryControlEnabled
(
);
if
(!
discoveryControlEnabled
)
{
return
new
ResponseEntity
<>(
Collections
.
singletonMap
(
"Message"
,
"Discovery control is disabled"
),
HttpStatus
.
NOT_FOUND
);
}
...
...
@@ -103,7 +102,7 @@ public class AdminEndpoint extends AbstractMvcEndpoint implements ApplicationCon
@ResponseBody
@ManagedOperation
public
Object
status
(
@RequestBody
String
status
)
{
Boolean
discoveryControlEnabled
=
getEnvironment
().
getProperty
(
PluginConstant
.
SPRING_APPLICATION_DISCOVERY_CONTROL_ENABLED
,
Boolean
.
class
,
Boolean
.
TRUE
);
Boolean
discoveryControlEnabled
=
pluginContextAware
.
isDiscoveryControlEnabled
(
);
if
(!
discoveryControlEnabled
)
{
return
new
ResponseEntity
<>(
Collections
.
singletonMap
(
"Message"
,
"Discovery control is disabled"
),
HttpStatus
.
NOT_FOUND
);
}
...
...
@@ -123,7 +122,7 @@ public class AdminEndpoint extends AbstractMvcEndpoint implements ApplicationCon
@ResponseBody
@ManagedOperation
public
Object
deregister
()
{
Boolean
discoveryControlEnabled
=
getEnvironment
().
getProperty
(
PluginConstant
.
SPRING_APPLICATION_DISCOVERY_CONTROL_ENABLED
,
Boolean
.
class
,
Boolean
.
TRUE
);
Boolean
discoveryControlEnabled
=
pluginContextAware
.
isDiscoveryControlEnabled
(
);
if
(!
discoveryControlEnabled
)
{
return
new
ResponseEntity
<>(
Collections
.
singletonMap
(
"Message"
,
"Discovery control is disabled"
),
HttpStatus
.
NOT_FOUND
);
}
...
...
@@ -138,15 +137,4 @@ public class AdminEndpoint extends AbstractMvcEndpoint implements ApplicationCon
return
"success"
;
}
@Override
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
throws
BeansException
{
if
(
applicationContext
instanceof
ConfigurableApplicationContext
)
{
this
.
applicationContext
=
(
ConfigurableApplicationContext
)
applicationContext
;
}
}
public
ConfigurableApplicationContext
getApplicationContext
()
{
return
applicationContext
;
}
}
\ No newline at end of file
discovery-plugin-config-center/src/main/java/com/nepxion/discovery/plugin/configcenter/ConfigInitializer.java
View file @
069826ae
...
...
@@ -16,22 +16,15 @@ import javax.annotation.PostConstruct;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
com.nepxion.discovery.plugin.configcenter.loader.ConfigLoader
;
import
com.nepxion.discovery.plugin.framework.con
stant.PluginConstant
;
import
com.nepxion.discovery.plugin.framework.con
text.PluginContextAware
;
public
class
ConfigInitializer
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
ConfigInitializer
.
class
);
@Value
(
"${"
+
PluginConstant
.
SPRING_APPLICATION_REGISTER_CONTROL_ENABLED
+
":true}"
)
private
Boolean
registerControlEnabled
;
@Value
(
"${"
+
PluginConstant
.
SPRING_APPLICATION_DISCOVERY_CONTROL_ENABLED
+
":true}"
)
private
Boolean
discoveryControlEnabled
;
@Value
(
"${"
+
PluginConstant
.
SPRING_APPLICATION_DISCOVERY_REMOTE_CONFIG_ENABLED
+
":true}"
)
private
Boolean
remoteConfigEnabled
;
@Autowired
private
PluginContextAware
pluginContextAware
;
@Autowired
(
required
=
false
)
private
ConfigLoader
configLoader
;
...
...
@@ -41,6 +34,10 @@ public class ConfigInitializer {
@PostConstruct
public
void
initialize
()
{
Boolean
registerControlEnabled
=
pluginContextAware
.
isRegisterControlEnabled
();
Boolean
discoveryControlEnabled
=
pluginContextAware
.
isDiscoveryControlEnabled
();
Boolean
remoteConfigEnabled
=
pluginContextAware
.
isRemoteConfigEnabled
();
if
(!
registerControlEnabled
&&
!
discoveryControlEnabled
)
{
LOG
.
info
(
"********** Register and Discovery controls are all disabled, ignore to initialize **********"
);
...
...
discovery-plugin-config-center/src/main/java/com/nepxion/discovery/plugin/configcenter/ConfigSubscriber.java
View file @
069826ae
...
...
@@ -14,10 +14,9 @@ import java.io.InputStream;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
com.google.common.eventbus.Subscribe
;
import
com.nepxion.discovery.plugin.framework.con
stant.PluginConstant
;
import
com.nepxion.discovery.plugin.framework.con
text.PluginContextAware
;
import
com.nepxion.eventbus.annotation.EventBus
;
import
com.nepxion.eventbus.core.Event
;
...
...
@@ -25,17 +24,17 @@ import com.nepxion.eventbus.core.Event;
public
class
ConfigSubscriber
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
ConfigSubscriber
.
class
);
@Value
(
"${"
+
PluginConstant
.
SPRING_APPLICATION_DISCOVERY_CONTROL_ENABLED
+
":true}"
)
private
Boolean
discoveryControlEnabled
;
@Value
(
"${"
+
PluginConstant
.
SPRING_APPLICATION_DISCOVERY_REMOTE_CONFIG_ENABLED
+
":true}"
)
private
Boolean
remoteConfigEnabled
;
@Autowired
private
PluginContextAware
pluginContextAware
;
@Autowired
private
ConfigParser
configParser
;
@Subscribe
public
void
subscribe
(
Event
event
)
{
Boolean
discoveryControlEnabled
=
pluginContextAware
.
isDiscoveryControlEnabled
();
Boolean
remoteConfigEnabled
=
pluginContextAware
.
isRemoteConfigEnabled
();
if
(!
discoveryControlEnabled
)
{
LOG
.
info
(
"********** Discovery control is disabled, reject to accept remote push **********"
);
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/configuration/PluginAutoConfiguration.java
View file @
069826ae
...
...
@@ -14,6 +14,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
import
org.springframework.context.annotation.Bean
;
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.DiscoveryControlStrategy
;
...
...
@@ -36,8 +37,8 @@ public class PluginAutoConfiguration {
}
@Bean
public
RuleEntity
ruleEntity
()
{
return
new
RuleEntity
();
public
PluginContextAware
pluginContextAware
()
{
return
new
PluginContextAware
();
}
@Bean
...
...
@@ -46,6 +47,11 @@ public class PluginAutoConfiguration {
}
@Bean
public
RuleEntity
ruleEntity
()
{
return
new
RuleEntity
();
}
@Bean
public
ReentrantReadWriteLock
reentrantReadWriteLock
()
{
return
new
ReentrantReadWriteLock
();
}
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/context/PluginContextAware.java
0 → 100644
View file @
069826ae
package
com
.
nepxion
.
discovery
.
plugin
.
framework
.
context
;
/**
* <p>Title: Nepxion Discovery</p>
* <p>Description: Nepxion Discovery</p>
* <p>Copyright: Copyright (c) 2017-2050</p>
* <p>Company: Nepxion</p>
* @author Haojun Ren
* @version 1.0
*/
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.ApplicationContextAware
;
import
org.springframework.core.env.Environment
;
import
com.nepxion.discovery.plugin.framework.constant.PluginConstant
;
public
class
PluginContextAware
implements
ApplicationContextAware
{
private
Environment
environment
;
@Override
public
void
setApplicationContext
(
ApplicationContext
applicationContext
)
{
this
.
environment
=
applicationContext
.
getEnvironment
();
}
public
Boolean
isRegisterControlEnabled
()
{
return
isRegisterControlEnabled
(
environment
);
}
public
Boolean
isDiscoveryControlEnabled
()
{
return
isDiscoveryControlEnabled
(
environment
);
}
public
Boolean
isRemoteConfigEnabled
()
{
return
isRemoteConfigEnabled
(
environment
);
}
public
static
Boolean
isRegisterControlEnabled
(
Environment
environment
)
{
return
environment
.
getProperty
(
PluginConstant
.
SPRING_APPLICATION_REGISTER_CONTROL_ENABLED
,
Boolean
.
class
,
Boolean
.
TRUE
);
}
public
static
Boolean
isDiscoveryControlEnabled
(
Environment
environment
)
{
return
environment
.
getProperty
(
PluginConstant
.
SPRING_APPLICATION_DISCOVERY_CONTROL_ENABLED
,
Boolean
.
class
,
Boolean
.
TRUE
);
}
public
static
Boolean
isRemoteConfigEnabled
(
Environment
environment
)
{
return
environment
.
getProperty
(
PluginConstant
.
SPRING_APPLICATION_DISCOVERY_REMOTE_CONFIG_ENABLED
,
Boolean
.
class
,
Boolean
.
TRUE
);
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/decorator/DiscoveryClientDecorator.java
View file @
069826ae
...
...
@@ -17,6 +17,7 @@ import org.springframework.context.ConfigurableApplicationContext;
import
org.springframework.core.env.ConfigurableEnvironment
;
import
com.nepxion.discovery.plugin.framework.constant.PluginConstant
;
import
com.nepxion.discovery.plugin.framework.context.PluginContextAware
;
import
com.nepxion.discovery.plugin.framework.strategy.DiscoveryControlStrategy
;
public
class
DiscoveryClientDecorator
implements
DiscoveryClient
{
...
...
@@ -45,7 +46,7 @@ public class DiscoveryClientDecorator implements DiscoveryClient {
public
List
<
ServiceInstance
>
getInstances
(
String
serviceId
)
{
List
<
ServiceInstance
>
instances
=
discoveryClient
.
getInstances
(
serviceId
);
Boolean
discoveryControlEnabled
=
environment
.
getProperty
(
PluginConstant
.
SPRING_APPLICATION_DISCOVERY_CONTROL_ENABLED
,
Boolean
.
class
,
Boolean
.
TRUE
);
Boolean
discoveryControlEnabled
=
PluginContextAware
.
isDiscoveryControlEnabled
(
environment
);
if
(
discoveryControlEnabled
)
{
String
applicationName
=
environment
.
getProperty
(
PluginConstant
.
SPRING_APPLICATION_NAME
);
String
metadataVersion
=
environment
.
getProperty
(
PluginConstant
.
EUREKA_METADATA_VERSION
);
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/decorator/EurekaServiceRegistryDecorator.java
View file @
069826ae
...
...
@@ -15,7 +15,7 @@ import org.springframework.cloud.netflix.eureka.serviceregistry.EurekaServiceReg
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.core.env.ConfigurableEnvironment
;
import
com.nepxion.discovery.plugin.framework.con
stant.PluginConstant
;
import
com.nepxion.discovery.plugin.framework.con
text.PluginContextAware
;
import
com.nepxion.discovery.plugin.framework.strategy.RegisterControlStrategy
;
public
class
EurekaServiceRegistryDecorator
extends
EurekaServiceRegistry
{
...
...
@@ -31,7 +31,7 @@ public class EurekaServiceRegistryDecorator extends EurekaServiceRegistry {
@Override
public
void
register
(
EurekaRegistration
registration
)
{
Boolean
registerControlEnabled
=
environment
.
getProperty
(
PluginConstant
.
SPRING_APPLICATION_REGISTER_CONTROL_ENABLED
,
Boolean
.
class
,
Boolean
.
TRUE
);
Boolean
registerControlEnabled
=
PluginContextAware
.
isRegisterControlEnabled
(
environment
);
if
(
registerControlEnabled
)
{
String
serviceId
=
registration
.
getServiceId
();
String
ipAddress
=
registration
.
getInstanceConfig
().
getIpAddress
();
...
...
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