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
f0e474ab
Commit
f0e474ab
authored
Jul 16, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加动态版本功能
parent
04301b3e
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
68 additions
and
23 deletions
+68
-23
discovery-plugin-config-center/src/main/java/com/nepxion/discovery/plugin/configcenter/ConfigInitializer.java
+7
-1
discovery-plugin-config-center/src/main/java/com/nepxion/discovery/plugin/configcenter/ConfigParser.java
+12
-15
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/adapter/AbstractPluginAdapter.java
+30
-4
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/adapter/PluginAdapter.java
+10
-1
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/config/PluginConfigParser.java
+4
-1
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/constant/PluginConstant.java
+2
-0
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/event/PluginSubscriber.java
+3
-1
No files found.
discovery-plugin-config-center/src/main/java/com/nepxion/discovery/plugin/configcenter/ConfigInitializer.java
View file @
f0e474ab
...
@@ -18,7 +18,9 @@ import org.slf4j.LoggerFactory;
...
@@ -18,7 +18,9 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.nepxion.discovery.plugin.configcenter.loader.ConfigLoader
;
import
com.nepxion.discovery.plugin.configcenter.loader.ConfigLoader
;
import
com.nepxion.discovery.plugin.framework.adapter.PluginAdapter
;
import
com.nepxion.discovery.plugin.framework.context.PluginContextAware
;
import
com.nepxion.discovery.plugin.framework.context.PluginContextAware
;
import
com.nepxion.discovery.plugin.framework.entity.RuleEntity
;
public
class
ConfigInitializer
{
public
class
ConfigInitializer
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
ConfigInitializer
.
class
);
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
ConfigInitializer
.
class
);
...
@@ -26,6 +28,9 @@ public class ConfigInitializer {
...
@@ -26,6 +28,9 @@ public class ConfigInitializer {
@Autowired
@Autowired
private
PluginContextAware
pluginContextAware
;
private
PluginContextAware
pluginContextAware
;
@Autowired
private
PluginAdapter
pluginAdapter
;
@Autowired
(
required
=
false
)
@Autowired
(
required
=
false
)
private
ConfigLoader
configLoader
;
private
ConfigLoader
configLoader
;
...
@@ -59,7 +64,8 @@ public class ConfigInitializer {
...
@@ -59,7 +64,8 @@ public class ConfigInitializer {
inputStream
=
configLoader
.
getLocalInputStream
();
inputStream
=
configLoader
.
getLocalInputStream
();
}
}
try
{
try
{
configParser
.
parse
(
inputStream
);
RuleEntity
ruleEntity
=
configParser
.
parse
(
inputStream
);
pluginAdapter
.
setLocalRule
(
ruleEntity
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOG
.
error
(
"Parse rule xml failed"
,
e
);
LOG
.
error
(
"Parse rule xml failed"
,
e
);
}
}
...
...
discovery-plugin-config-center/src/main/java/com/nepxion/discovery/plugin/configcenter/ConfigParser.java
View file @
f0e474ab
...
@@ -19,14 +19,13 @@ import java.util.Map;
...
@@ -19,14 +19,13 @@ import java.util.Map;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.dom4j.Attribute
;
import
org.dom4j.Attribute
;
import
org.dom4j.Document
;
import
org.dom4j.Element
;
import
org.dom4j.Element
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
com.nepxion.discovery.plugin.configcenter.constant.ConfigConstant
;
import
com.nepxion.discovery.plugin.configcenter.constant.ConfigConstant
;
import
com.nepxion.discovery.plugin.configcenter.xml.Dom4JParser
;
import
com.nepxion.discovery.plugin.configcenter.xml.Dom4JReader
;
import
com.nepxion.discovery.plugin.framework.adapter.PluginAdapter
;
import
com.nepxion.discovery.plugin.framework.config.PluginConfigParser
;
import
com.nepxion.discovery.plugin.framework.config.PluginConfigParser
;
import
com.nepxion.discovery.plugin.framework.constant.PluginConstant
;
import
com.nepxion.discovery.plugin.framework.constant.PluginConstant
;
import
com.nepxion.discovery.plugin.framework.entity.CountFilterEntity
;
import
com.nepxion.discovery.plugin.framework.entity.CountFilterEntity
;
...
@@ -40,18 +39,19 @@ import com.nepxion.discovery.plugin.framework.entity.RuleEntity;
...
@@ -40,18 +39,19 @@ import com.nepxion.discovery.plugin.framework.entity.RuleEntity;
import
com.nepxion.discovery.plugin.framework.entity.VersionFilterEntity
;
import
com.nepxion.discovery.plugin.framework.entity.VersionFilterEntity
;
import
com.nepxion.discovery.plugin.framework.exception.PluginException
;
import
com.nepxion.discovery.plugin.framework.exception.PluginException
;
public
class
ConfigParser
extends
Dom4JParser
implements
PluginConfigParser
{
public
class
ConfigParser
implements
PluginConfigParser
{
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
ConfigParser
.
class
);
private
static
final
Logger
LOG
=
LoggerFactory
.
getLogger
(
ConfigParser
.
class
);
@Autowired
private
PluginAdapter
pluginAdapter
;
@Override
@Override
public
void
parse
(
InputStream
inputStream
)
{
public
RuleEntity
parse
(
InputStream
inputStream
)
{
try
{
try
{
String
text
=
IOUtils
.
toString
(
inputStream
,
PluginConstant
.
ENCODING_UTF_8
);
String
text
=
IOUtils
.
toString
(
inputStream
,
PluginConstant
.
ENCODING_UTF_8
);
super
.
parse
(
text
);
Document
document
=
Dom4JReader
.
getDocument
(
text
);
Element
rootElement
=
document
.
getRootElement
();
return
parseRoot
(
text
,
rootElement
);
}
catch
(
NullPointerException
e
)
{
}
catch
(
NullPointerException
e
)
{
throw
new
PluginException
(
"Input stream is null"
);
throw
new
PluginException
(
"Input stream is null"
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
@@ -64,8 +64,7 @@ public class ConfigParser extends Dom4JParser implements PluginConfigParser {
...
@@ -64,8 +64,7 @@ public class ConfigParser extends Dom4JParser implements PluginConfigParser {
}
}
@SuppressWarnings
(
"rawtypes"
)
@SuppressWarnings
(
"rawtypes"
)
@Override
private
RuleEntity
parseRoot
(
String
text
,
Element
element
)
{
protected
void
parseRoot
(
Element
element
)
{
LOG
.
info
(
"Start to parse rule xml..."
);
LOG
.
info
(
"Start to parse rule xml..."
);
int
registerElementCount
=
element
.
elements
(
ConfigConstant
.
REGISTER_ELEMENT_NAME
).
size
();
int
registerElementCount
=
element
.
elements
(
ConfigConstant
.
REGISTER_ELEMENT_NAME
).
size
();
...
@@ -95,16 +94,14 @@ public class ConfigParser extends Dom4JParser implements PluginConfigParser {
...
@@ -95,16 +94,14 @@ public class ConfigParser extends Dom4JParser implements PluginConfigParser {
}
}
}
}
String
text
=
getText
();
RuleEntity
ruleEntity
=
new
RuleEntity
();
RuleEntity
ruleEntity
=
new
RuleEntity
();
ruleEntity
.
setRegisterEntity
(
registerEntity
);
ruleEntity
.
setRegisterEntity
(
registerEntity
);
ruleEntity
.
setDiscoveryEntity
(
discoveryEntity
);
ruleEntity
.
setDiscoveryEntity
(
discoveryEntity
);
ruleEntity
.
setContent
(
text
);
ruleEntity
.
setContent
(
text
);
pluginAdapter
.
setRule
(
ruleEntity
);
LOG
.
info
(
"Rule entity=\n{}"
,
ruleEntity
);
LOG
.
info
(
"Rule entity=\n{}"
,
ruleEntity
);
return
ruleEntity
;
}
}
@SuppressWarnings
(
"rawtypes"
)
@SuppressWarnings
(
"rawtypes"
)
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/adapter/AbstractPluginAdapter.java
View file @
f0e474ab
...
@@ -45,26 +45,51 @@ public abstract class AbstractPluginAdapter implements PluginAdapter {
...
@@ -45,26 +45,51 @@ public abstract class AbstractPluginAdapter implements PluginAdapter {
@Override
@Override
public
String
getDynamicVersion
()
{
public
String
getDynamicVersion
()
{
return
pluginCache
.
get
(
PluginConstant
.
VERSION
);
return
pluginCache
.
get
(
PluginConstant
.
DYNAMIC_
VERSION
);
}
}
@Override
@Override
public
void
setDynamicVersion
(
String
version
)
{
public
void
setDynamicVersion
(
String
version
)
{
pluginCache
.
put
(
PluginConstant
.
VERSION
,
version
);
pluginCache
.
put
(
PluginConstant
.
DYNAMIC_
VERSION
,
version
);
}
}
@Override
@Override
public
void
clearDynamicVersion
()
{
public
void
clearDynamicVersion
()
{
pluginCache
.
clear
(
PluginConstant
.
VERSION
);
pluginCache
.
clear
(
PluginConstant
.
DYNAMIC_
VERSION
);
}
}
@Override
@Override
public
RuleEntity
getRule
()
{
public
RuleEntity
getRule
()
{
RuleEntity
dynamicRuleEntity
=
getDynamicRule
();
if
(
dynamicRuleEntity
!=
null
)
{
return
dynamicRuleEntity
;
}
return
getLocalRule
();
}
@Override
public
RuleEntity
getLocalRule
()
{
return
ruleCache
.
get
(
PluginConstant
.
RULE
);
return
ruleCache
.
get
(
PluginConstant
.
RULE
);
}
}
@Override
@Override
public
void
setRule
(
RuleEntity
ruleEntity
)
{
public
void
set
Local
Rule
(
RuleEntity
ruleEntity
)
{
ruleCache
.
put
(
PluginConstant
.
RULE
,
ruleEntity
);
ruleCache
.
put
(
PluginConstant
.
RULE
,
ruleEntity
);
}
}
@Override
public
RuleEntity
getDynamicRule
()
{
return
ruleCache
.
get
(
PluginConstant
.
DYNAMIC_RULE
);
}
@Override
public
void
setDynamicRule
(
RuleEntity
ruleEntity
)
{
ruleCache
.
put
(
PluginConstant
.
DYNAMIC_RULE
,
ruleEntity
);
}
@Override
public
void
clearDynamicRule
()
{
ruleCache
.
clear
(
PluginConstant
.
DYNAMIC_RULE
);
}
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/adapter/PluginAdapter.java
View file @
f0e474ab
...
@@ -39,5 +39,13 @@ public interface PluginAdapter {
...
@@ -39,5 +39,13 @@ public interface PluginAdapter {
RuleEntity
getRule
();
RuleEntity
getRule
();
void
setRule
(
RuleEntity
ruleEntity
);
RuleEntity
getLocalRule
();
void
setLocalRule
(
RuleEntity
ruleEntity
);
RuleEntity
getDynamicRule
();
void
setDynamicRule
(
RuleEntity
ruleEntity
);
void
clearDynamicRule
();
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/config/PluginConfigParser.java
View file @
f0e474ab
...
@@ -11,6 +11,8 @@ package com.nepxion.discovery.plugin.framework.config;
...
@@ -11,6 +11,8 @@ package com.nepxion.discovery.plugin.framework.config;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
com.nepxion.discovery.plugin.framework.entity.RuleEntity
;
public
interface
PluginConfigParser
{
public
interface
PluginConfigParser
{
void
parse
(
InputStream
inputStream
);
RuleEntity
parse
(
InputStream
inputStream
);
}
}
\ No newline at end of file
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/constant/PluginConstant.java
View file @
f0e474ab
...
@@ -18,10 +18,12 @@ public class PluginConstant {
...
@@ -18,10 +18,12 @@ public class PluginConstant {
public
static
final
String
SPRING_APPLICATION_NAME
=
"spring.application.name"
;
public
static
final
String
SPRING_APPLICATION_NAME
=
"spring.application.name"
;
public
static
final
String
SERVICE_ID
=
"serviceId"
;
public
static
final
String
SERVICE_ID
=
"serviceId"
;
public
static
final
String
VERSION
=
"version"
;
public
static
final
String
VERSION
=
"version"
;
public
static
final
String
DYNAMIC_VERSION
=
"dynamicVersion"
;
public
static
final
String
METADATA
=
"metadata"
;
public
static
final
String
METADATA
=
"metadata"
;
public
static
final
String
HOST
=
"host"
;
public
static
final
String
HOST
=
"host"
;
public
static
final
String
PORT
=
"port"
;
public
static
final
String
PORT
=
"port"
;
public
static
final
String
RULE
=
"rule"
;
public
static
final
String
RULE
=
"rule"
;
public
static
final
String
DYNAMIC_RULE
=
"dynamicRule"
;
public
static
final
String
REACH_MAX_LIMITED_COUNT
=
"reach max limited count"
;
public
static
final
String
REACH_MAX_LIMITED_COUNT
=
"reach max limited count"
;
public
static
final
String
DATE_FORMAT
=
"yyyy-MM-dd HH:mm:ss.SSS"
;
public
static
final
String
DATE_FORMAT
=
"yyyy-MM-dd HH:mm:ss.SSS"
;
...
...
discovery-plugin-framework/src/main/java/com/nepxion/discovery/plugin/framework/event/PluginSubscriber.java
View file @
f0e474ab
...
@@ -20,6 +20,7 @@ import com.google.common.eventbus.Subscribe;
...
@@ -20,6 +20,7 @@ import com.google.common.eventbus.Subscribe;
import
com.nepxion.discovery.plugin.framework.adapter.PluginAdapter
;
import
com.nepxion.discovery.plugin.framework.adapter.PluginAdapter
;
import
com.nepxion.discovery.plugin.framework.config.PluginConfigParser
;
import
com.nepxion.discovery.plugin.framework.config.PluginConfigParser
;
import
com.nepxion.discovery.plugin.framework.context.PluginContextAware
;
import
com.nepxion.discovery.plugin.framework.context.PluginContextAware
;
import
com.nepxion.discovery.plugin.framework.entity.RuleEntity
;
import
com.nepxion.discovery.plugin.framework.exception.PluginException
;
import
com.nepxion.discovery.plugin.framework.exception.PluginException
;
import
com.nepxion.discovery.plugin.framework.listener.loadbalance.LoadBalanceListenerExecutor
;
import
com.nepxion.discovery.plugin.framework.listener.loadbalance.LoadBalanceListenerExecutor
;
import
com.nepxion.eventbus.annotation.EventBus
;
import
com.nepxion.eventbus.annotation.EventBus
;
...
@@ -66,7 +67,8 @@ public class PluginSubscriber {
...
@@ -66,7 +67,8 @@ public class PluginSubscriber {
InputStream
inputStream
=
ruleUpdatedEvent
.
getInputStream
();
InputStream
inputStream
=
ruleUpdatedEvent
.
getInputStream
();
try
{
try
{
pluninConfigParser
.
parse
(
inputStream
);
RuleEntity
ruleEntity
=
pluninConfigParser
.
parse
(
inputStream
);
pluginAdapter
.
setDynamicRule
(
ruleEntity
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
LOG
.
error
(
"Parse rule xml failed"
,
e
);
LOG
.
error
(
"Parse rule xml failed"
,
e
);
...
...
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