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
c10c9352
Commit
c10c9352
authored
Jun 27, 2018
by
Nepxion
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
模拟复杂的测试用例
parent
9cffefdd
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
528 additions
and
118 deletions
+528
-118
README.md
+5
-3
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/impl/DiscoveryConfigAdapter.java
+14
-21
discovery-springcloud-example-a/src/main/resources/application.properties
+3
-2
discovery-springcloud-example-a/src/main/resources/rule.xml
+7
-2
discovery-springcloud-example-a/src/main/resources/rule2.xml
+0
-19
discovery-springcloud-example-a/src/main/resources/rule3.xml
+0
-19
discovery-springcloud-example-a/src/main/resources/rule4.xml
+0
-20
discovery-springcloud-example-a/src/main/resources/rule5.xml
+0
-19
discovery-springcloud-example-b1/pom.xml
+7
-0
discovery-springcloud-example-b1/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
+9
-0
discovery-springcloud-example-b1/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryController.java
+31
-0
discovery-springcloud-example-b1/src/main/java/com/nepxion/discovery/plugin/example/impl/DiscoveryConfigAdapter.java
+37
-0
discovery-springcloud-example-b1/src/main/resources/application.properties
+6
-3
discovery-springcloud-example-b1/src/main/resources/rule.xml
+14
-0
discovery-springcloud-example-b2/pom.xml
+7
-0
discovery-springcloud-example-b2/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
+9
-0
discovery-springcloud-example-b2/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryController.java
+31
-0
discovery-springcloud-example-b2/src/main/java/com/nepxion/discovery/plugin/example/impl/DiscoveryConfigAdapter.java
+37
-0
discovery-springcloud-example-b2/src/main/resources/application.properties
+6
-3
discovery-springcloud-example-b2/src/main/resources/rule.xml
+14
-0
discovery-springcloud-example-c1/pom.xml
+2
-2
discovery-springcloud-example-c1/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
+0
-0
discovery-springcloud-example-c1/src/main/resources/application.properties
+4
-4
discovery-springcloud-example-c1/src/main/resources/logback.xml
+0
-0
discovery-springcloud-example-c2/pom.xml
+62
-0
discovery-springcloud-example-c2/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
+23
-0
discovery-springcloud-example-c2/src/main/resources/application.properties
+7
-0
discovery-springcloud-example-c2/src/main/resources/logback.xml
+49
-0
discovery-springcloud-example-c3/pom.xml
+62
-0
discovery-springcloud-example-c3/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
+23
-0
discovery-springcloud-example-c3/src/main/resources/application.properties
+7
-0
discovery-springcloud-example-c3/src/main/resources/logback.xml
+49
-0
pom.xml
+3
-1
No files found.
README.md
View file @
c10c9352
...
@@ -126,11 +126,13 @@ public class DiscoveryConfigAdapter extends ConfigAdapter {
...
@@ -126,11 +126,13 @@ public class DiscoveryConfigAdapter extends ConfigAdapter {
}
}
// 订阅远程配置中心的规则更新(推送策略自己决定,可以所有服务都只对应一个规则信息,也可以根据服务名获取对应的规则信息)
// 订阅远程配置中心的规则更新(推送策略自己决定,可以所有服务都只对应一个规则信息,也可以根据服务名获取对应的规则信息)
@Autowired
private
PluginPublisher
pluginPublisher
;
@PostConstruct
@PostConstruct
public
void
publish
()
{
public
void
publish
()
{
InputStream
inputStream
=
...;
InputStream
inputStream
=
...;
pluginPublisher
.
asyncPublish
(
inputStream
);
publish
(
inputStream
);
}
}
}
}
```
```
...
...
discovery-springcloud-example-a/src/main/java/com/nepxion/discovery/plugin/example/impl/DiscoveryConfigAdapter.java
View file @
c10c9352
...
@@ -25,17 +25,17 @@ public class DiscoveryConfigAdapter extends ConfigAdapter {
...
@@ -25,17 +25,17 @@ public class DiscoveryConfigAdapter extends ConfigAdapter {
@Override
@Override
protected
String
getLocalContextPath
()
{
protected
String
getLocalContextPath
()
{
// 规则文件放在resources目录下
// 规则文件放在resources目录下
return
"classpath:rule
1
.xml"
;
return
"classpath:rule.xml"
;
// 规则文件放在工程根目录下
// 规则文件放在工程根目录下
// return "file:rule
1
.xml";
// return "file:rule.xml";
}
}
// 从远程配置中心获取规则
// 从远程配置中心获取规则
@Override
@Override
public
InputStream
getRemoteInputStream
()
{
public
InputStream
getRemoteInputStream
()
{
try
{
try
{
return
FileUtils
.
openInputStream
(
new
File
(
"src/main/resources/rule
1
.xml"
));
return
FileUtils
.
openInputStream
(
new
File
(
"src/main/resources/rule.xml"
));
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
...
@@ -44,24 +44,16 @@ public class DiscoveryConfigAdapter extends ConfigAdapter {
...
@@ -44,24 +44,16 @@ public class DiscoveryConfigAdapter extends ConfigAdapter {
}
}
// 订阅远程配置中心的规则更新(推送策略自己决定,可以所有服务都只对应一个规则信息,也可以根据服务名获取对应的规则信息)
// 订阅远程配置中心的规则更新(推送策略自己决定,可以所有服务都只对应一个规则信息,也可以根据服务名获取对应的规则信息)
/*@PostConstruct
/*@Autowired
public void publish() {
private PluginPublisher pluginPublisher;
ThreadLocalRandom threadLocalRandom = ThreadLocalRandom.current();
// 模拟每隔15秒通过EventBus接收远程配置中心推送过来的规则更新
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
// 本地文件模拟代替远程文件,随机读取
int index = threadLocalRandom.nextInt(5) + 1;
try {
InputStream inputStream = FileUtils.openInputStream(new File("src/main/resources/rule" + index + ".xml"));
publish(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
@PostConstruct
}, 10000L, 15000L);
public void publish() {
try {
InputStream inputStream = FileUtils.openInputStream(new File("src/main/resources/rule.xml"));
pluginPublisher.asyncPublish(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}*/
}*/
}
}
\ No newline at end of file
discovery-springcloud-example-a/src/main/resources/application.properties
View file @
c10c9352
# Spring cloud config
# Spring cloud config
spring.application.name
=
discovery-springcloud-example-a
spring.application.name
=
discovery-springcloud-example-a
server.port
=
4321
server.port
=
1100
eureka.client.serviceUrl.defaultZone
=
http://10.0.75.1:9528/eureka/
eureka.client.serviceUrl.defaultZone
=
http://10.0.75.1:9528/eureka/
eureka.instance.preferIpAddress
=
true
eureka.instance.preferIpAddress
=
true
eureka.instance.metadataMap.version
=
1.0
eureka.instance.metadataMap.version
=
1.0
...
@@ -13,5 +13,5 @@ spring.application.discovery.control.enabled=true
...
@@ -13,5 +13,5 @@ spring.application.discovery.control.enabled=true
# 开启和关闭远程配置中心规则文件读取。一旦关闭,默认读取本地规则文件(例如:rule.xml)。缺失则默认为true
# 开启和关闭远程配置中心规则文件读取。一旦关闭,默认读取本地规则文件(例如:rule.xml)。缺失则默认为true
spring.application.discovery.remote.config.enabled
=
true
spring.application.discovery.remote.config.enabled
=
true
management.port
=
5432
management.port
=
8100
management.security.enabled
=
false
management.security.enabled
=
false
\ No newline at end of file
discovery-springcloud-example-a/src/main/resources/rule
1
.xml
→
discovery-springcloud-example-a/src/main/resources/rule.xml
View file @
c10c9352
...
@@ -43,8 +43,12 @@
...
@@ -43,8 +43,12 @@
<!-- 1. 消费端的application.properties未定义版本号(即eureka.instance.metadataMap.version不存在),则该消费端可以访问提供端任何版本 -->
<!-- 1. 消费端的application.properties未定义版本号(即eureka.instance.metadataMap.version不存在),则该消费端可以访问提供端任何版本 -->
<!-- 2. 提供端的application.properties未定义版本号(即eureka.instance.metadataMap.version不存在),当消费端在xml里不做任何版本配置,才可以访问该提供端 -->
<!-- 2. 提供端的application.properties未定义版本号(即eureka.instance.metadataMap.version不存在),当消费端在xml里不做任何版本配置,才可以访问该提供端 -->
<version>
<version>
<!-- 表示消费端服务a的1.0,允许访问提供端服务b的1.0和1.1版本 -->
<!-- 表示消费端服务a的1.0,允许访问提供端服务b的2.0和2.1版本 -->
<service
consumer-service-name=
"discovery-springcloud-example-a"
provider-service-name=
"discovery-springcloud-example-b"
consumer-version-value=
"1.0"
provider-version-value=
"1.0;1.1"
/>
<service
consumer-service-name=
"discovery-springcloud-example-a"
provider-service-name=
"discovery-springcloud-example-b"
consumer-version-value=
"1.0"
provider-version-value=
"2.0;2.1"
/>
<!-- 表示消费端服务b的2.0,允许访问提供端服务c的3.0版本 -->
<service
consumer-service-name=
"discovery-springcloud-example-b"
provider-service-name=
"discovery-springcloud-example-c"
consumer-version-value=
"2.0"
provider-version-value=
"3.0"
/>
<!-- 表示消费端服务b的2.1,允许访问提供端服务c的3.1和3.2版本 -->
<service
consumer-service-name=
"discovery-springcloud-example-b"
provider-service-name=
"discovery-springcloud-example-c"
consumer-version-value=
"2.1"
provider-version-value=
"3.1;3.2"
/>
</version>
</version>
</discovery>
</discovery>
</rule>
</rule>
\ No newline at end of file
discovery-springcloud-example-a/src/main/resources/rule2.xml
deleted
100644 → 0
View file @
9cffefdd
<?xml version="1.0" encoding="UTF-8"?>
<rule>
<register>
<blacklist
filter-value=
"10.10;11.11"
>
<service
service-name=
"discovery-springcloud-example-a"
filter-value=
"172.16"
/>
</blacklist>
</register>
<discovery>
<blacklist
filter-value=
"10.10;11.11"
>
<service
service-name=
"discovery-springcloud-example-b"
filter-value=
"172.16"
/>
</blacklist>
<version>
<service
consumer-service-name=
"discovery-springcloud-example-a"
provider-service-name=
"discovery-springcloud-example-b"
consumer-version-value=
"1.0"
provider-version-value=
"3.0"
/>
</version>
</discovery>
</rule>
\ No newline at end of file
discovery-springcloud-example-a/src/main/resources/rule3.xml
deleted
100644 → 0
View file @
9cffefdd
<?xml version="1.0" encoding="UTF-8"?>
<rule>
<register>
<blacklist
filter-value=
"10.10;11.11"
>
<service
service-name=
"discovery-springcloud-example-a"
filter-value=
"172.16"
/>
</blacklist>
</register>
<discovery>
<blacklist
filter-value=
"10.10;11.11"
>
<service
service-name=
"discovery-springcloud-example-b"
filter-value=
"172.16"
/>
</blacklist>
<version>
<service
consumer-service-name=
"discovery-springcloud-example-a"
provider-service-name=
"discovery-springcloud-example-b"
consumer-version-value=
"1.0;1.1"
provider-version-value=
"1.0;1.1;2.0"
/>
</version>
</discovery>
</rule>
\ No newline at end of file
discovery-springcloud-example-a/src/main/resources/rule4.xml
deleted
100644 → 0
View file @
9cffefdd
<?xml version="1.0" encoding="UTF-8"?>
<rule>
<register>
<blacklist
filter-value=
"10.10;11.11"
>
<service
service-name=
"discovery-springcloud-example-a"
filter-value=
"172.16"
/>
</blacklist>
</register>
<discovery>
<blacklist
filter-value=
"10.10;11.11"
>
<service
service-name=
"discovery-springcloud-example-b"
filter-value=
"172.16"
/>
</blacklist>
<version>
<service
consumer-service-name=
"discovery-springcloud-example-a"
provider-service-name=
"discovery-springcloud-example-b"
consumer-version-value=
"1.0"
provider-version-value=
"1.1"
/>
<service
consumer-service-name=
"discovery-springcloud-example-a"
provider-service-name=
"discovery-springcloud-example-b"
consumer-version-value=
"1.1"
provider-version-value=
"1.0"
/>
</version>
</discovery>
</rule>
\ No newline at end of file
discovery-springcloud-example-a/src/main/resources/rule5.xml
deleted
100644 → 0
View file @
9cffefdd
<?xml version="1.0" encoding="UTF-8"?>
<rule>
<register>
<blacklist
filter-value=
"10.10;11.11"
>
<service
service-name=
"discovery-springcloud-example-a"
filter-value=
"172.16"
/>
</blacklist>
</register>
<discovery>
<blacklist
filter-value=
"10.10;11.11"
>
<service
service-name=
"discovery-springcloud-example-b"
filter-value=
"172.16"
/>
</blacklist>
<version>
<service
consumer-service-name=
"discovery-springcloud-example-a"
provider-service-name=
"discovery-springcloud-example-b"
consumer-version-value=
""
provider-version-value=
""
/>
</version>
</discovery>
</rule>
\ No newline at end of file
discovery-springcloud-example-b1/pom.xml
View file @
c10c9352
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
<properties>
<properties>
<spring.cloud.version>
Dalston.SR5
</spring.cloud.version>
<spring.cloud.version>
Dalston.SR5
</spring.cloud.version>
<!-- <spring.cloud.version>Edgware.SR3</spring.cloud.version> -->
<!-- <spring.cloud.version>Edgware.SR3</spring.cloud.version> -->
<discovery.plugin.version>
2.0.9
</discovery.plugin.version>
<java.version>
1.8
</java.version>
<java.version>
1.8
</java.version>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
</properties>
</properties>
...
@@ -37,6 +38,12 @@
...
@@ -37,6 +38,12 @@
<dependencies>
<dependencies>
<dependency>
<dependency>
<groupId>
com.nepxion
</groupId>
<artifactId>
discovery-plugin-starter
</artifactId>
<version>
${discovery.plugin.version}
</version>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-eureka
</artifactId>
<artifactId>
spring-cloud-starter-eureka
</artifactId>
</dependency>
</dependency>
...
...
discovery-springcloud-example-b1/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
View file @
c10c9352
...
@@ -12,6 +12,9 @@ package com.nepxion.discovery.plugin.example;
...
@@ -12,6 +12,9 @@ package com.nepxion.discovery.plugin.example;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.context.annotation.Bean
;
import
com.nepxion.discovery.plugin.example.impl.DiscoveryConfigAdapter
;
@SpringBootApplication
@SpringBootApplication
@EnableDiscoveryClient
@EnableDiscoveryClient
...
@@ -19,4 +22,9 @@ public class DiscoveryApplication {
...
@@ -19,4 +22,9 @@ public class DiscoveryApplication {
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
new
SpringApplicationBuilder
(
DiscoveryApplication
.
class
).
web
(
true
).
run
(
args
);
new
SpringApplicationBuilder
(
DiscoveryApplication
.
class
).
web
(
true
).
run
(
args
);
}
}
@Bean
public
DiscoveryConfigAdapter
discoveryConfigLoader
()
{
return
new
DiscoveryConfigAdapter
();
}
}
}
\ No newline at end of file
discovery-springcloud-example-b1/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryController.java
0 → 100644
View file @
c10c9352
package
com
.
nepxion
.
discovery
.
plugin
.
example
;
/**
* <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
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.ServiceInstance
;
import
org.springframework.cloud.client.discovery.DiscoveryClient
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
public
class
DiscoveryController
{
@Autowired
private
DiscoveryClient
discoveryClient
;
@RequestMapping
(
path
=
"/instances"
,
method
=
RequestMethod
.
GET
)
public
List
<
ServiceInstance
>
instances
()
{
return
discoveryClient
.
getInstances
(
"discovery-springcloud-example-c"
);
}
}
\ No newline at end of file
discovery-springcloud-example-b1/src/main/java/com/nepxion/discovery/plugin/example/impl/DiscoveryConfigAdapter.java
0 → 100644
View file @
c10c9352
package
com
.
nepxion
.
discovery
.
plugin
.
example
.
impl
;
/**
* <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
java.io.File
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
org.apache.commons.io.FileUtils
;
import
com.nepxion.discovery.plugin.configcenter.ConfigAdapter
;
public
class
DiscoveryConfigAdapter
extends
ConfigAdapter
{
@Override
protected
String
getLocalContextPath
()
{
return
"classpath:rule.xml"
;
}
@Override
public
InputStream
getRemoteInputStream
()
{
try
{
return
FileUtils
.
openInputStream
(
new
File
(
"src/main/resources/rule.xml"
));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
}
\ No newline at end of file
discovery-springcloud-example-b1/src/main/resources/application.properties
View file @
c10c9352
# Spring cloud config
# Spring cloud config
spring.application.name
=
discovery-springcloud-example-b
spring.application.name
=
discovery-springcloud-example-b
server.port
=
4322
server.port
=
1200
eureka.client.serviceUrl.defaultZone
=
http://10.0.75.1:9528/eureka/
eureka.client.serviceUrl.defaultZone
=
http://10.0.75.1:9528/eureka/
eureka.instance.preferIpAddress
=
true
eureka.instance.preferIpAddress
=
true
eureka.instance.metadataMap.version
=
1.0
eureka.instance.metadataMap.version
=
2.0
\ No newline at end of file
management.port
=
8200
management.security.enabled
=
false
\ No newline at end of file
discovery-springcloud-example-b1/src/main/resources/rule.xml
0 → 100644
View file @
c10c9352
<?xml version="1.0" encoding="UTF-8"?>
<rule>
<discovery>
<version>
<!-- 表示消费端服务a的1.0,允许访问提供端服务b的2.0和2.1版本 -->
<service
consumer-service-name=
"discovery-springcloud-example-a"
provider-service-name=
"discovery-springcloud-example-b"
consumer-version-value=
"1.0"
provider-version-value=
"2.0;2.1"
/>
<!-- 表示消费端服务b的2.0,允许访问提供端服务c的3.0版本 -->
<service
consumer-service-name=
"discovery-springcloud-example-b"
provider-service-name=
"discovery-springcloud-example-c"
consumer-version-value=
"2.0"
provider-version-value=
"3.0"
/>
<!-- 表示消费端服务b的2.1,允许访问提供端服务c的3.1和3.2版本 -->
<service
consumer-service-name=
"discovery-springcloud-example-b"
provider-service-name=
"discovery-springcloud-example-c"
consumer-version-value=
"2.1"
provider-version-value=
"3.1;3.2"
/>
</version>
</discovery>
</rule>
\ No newline at end of file
discovery-springcloud-example-b2/pom.xml
View file @
c10c9352
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
<properties>
<properties>
<spring.cloud.version>
Dalston.SR5
</spring.cloud.version>
<spring.cloud.version>
Dalston.SR5
</spring.cloud.version>
<!-- <spring.cloud.version>Edgware.SR3</spring.cloud.version> -->
<!-- <spring.cloud.version>Edgware.SR3</spring.cloud.version> -->
<discovery.plugin.version>
2.0.9
</discovery.plugin.version>
<java.version>
1.8
</java.version>
<java.version>
1.8
</java.version>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
</properties>
</properties>
...
@@ -37,6 +38,12 @@
...
@@ -37,6 +38,12 @@
<dependencies>
<dependencies>
<dependency>
<dependency>
<groupId>
com.nepxion
</groupId>
<artifactId>
discovery-plugin-starter
</artifactId>
<version>
${discovery.plugin.version}
</version>
</dependency>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-eureka
</artifactId>
<artifactId>
spring-cloud-starter-eureka
</artifactId>
</dependency>
</dependency>
...
...
discovery-springcloud-example-b2/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
View file @
c10c9352
...
@@ -12,6 +12,9 @@ package com.nepxion.discovery.plugin.example;
...
@@ -12,6 +12,9 @@ package com.nepxion.discovery.plugin.example;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.context.annotation.Bean
;
import
com.nepxion.discovery.plugin.example.impl.DiscoveryConfigAdapter
;
@SpringBootApplication
@SpringBootApplication
@EnableDiscoveryClient
@EnableDiscoveryClient
...
@@ -19,4 +22,9 @@ public class DiscoveryApplication {
...
@@ -19,4 +22,9 @@ public class DiscoveryApplication {
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
new
SpringApplicationBuilder
(
DiscoveryApplication
.
class
).
web
(
true
).
run
(
args
);
new
SpringApplicationBuilder
(
DiscoveryApplication
.
class
).
web
(
true
).
run
(
args
);
}
}
@Bean
public
DiscoveryConfigAdapter
discoveryConfigLoader
()
{
return
new
DiscoveryConfigAdapter
();
}
}
}
\ No newline at end of file
discovery-springcloud-example-b2/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryController.java
0 → 100644
View file @
c10c9352
package
com
.
nepxion
.
discovery
.
plugin
.
example
;
/**
* <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
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.client.ServiceInstance
;
import
org.springframework.cloud.client.discovery.DiscoveryClient
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
public
class
DiscoveryController
{
@Autowired
private
DiscoveryClient
discoveryClient
;
@RequestMapping
(
path
=
"/instances"
,
method
=
RequestMethod
.
GET
)
public
List
<
ServiceInstance
>
instances
()
{
return
discoveryClient
.
getInstances
(
"discovery-springcloud-example-c"
);
}
}
\ No newline at end of file
discovery-springcloud-example-b2/src/main/java/com/nepxion/discovery/plugin/example/impl/DiscoveryConfigAdapter.java
0 → 100644
View file @
c10c9352
package
com
.
nepxion
.
discovery
.
plugin
.
example
.
impl
;
/**
* <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
java.io.File
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
org.apache.commons.io.FileUtils
;
import
com.nepxion.discovery.plugin.configcenter.ConfigAdapter
;
public
class
DiscoveryConfigAdapter
extends
ConfigAdapter
{
@Override
protected
String
getLocalContextPath
()
{
return
"classpath:rule.xml"
;
}
@Override
public
InputStream
getRemoteInputStream
()
{
try
{
return
FileUtils
.
openInputStream
(
new
File
(
"src/main/resources/rule.xml"
));
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
}
\ No newline at end of file
discovery-springcloud-example-b2/src/main/resources/application.properties
View file @
c10c9352
# Spring cloud config
# Spring cloud config
spring.application.name
=
discovery-springcloud-example-b
spring.application.name
=
discovery-springcloud-example-b
server.port
=
4323
server.port
=
1201
eureka.client.serviceUrl.defaultZone
=
http://10.0.75.1:9528/eureka/
eureka.client.serviceUrl.defaultZone
=
http://10.0.75.1:9528/eureka/
eureka.instance.preferIpAddress
=
true
eureka.instance.preferIpAddress
=
true
eureka.instance.metadataMap.version
=
1.1
eureka.instance.metadataMap.version
=
2.1
\ No newline at end of file
management.port
=
8201
management.security.enabled
=
false
\ No newline at end of file
discovery-springcloud-example-b2/src/main/resources/rule.xml
0 → 100644
View file @
c10c9352
<?xml version="1.0" encoding="UTF-8"?>
<rule>
<discovery>
<version>
<!-- 表示消费端服务a的1.0,允许访问提供端服务b的2.0和2.1版本 -->
<service
consumer-service-name=
"discovery-springcloud-example-a"
provider-service-name=
"discovery-springcloud-example-b"
consumer-version-value=
"1.0"
provider-version-value=
"2.0;2.1"
/>
<!-- 表示消费端服务b的2.0,允许访问提供端服务c的3.0版本 -->
<service
consumer-service-name=
"discovery-springcloud-example-b"
provider-service-name=
"discovery-springcloud-example-c"
consumer-version-value=
"2.0"
provider-version-value=
"3.0"
/>
<!-- 表示消费端服务b的2.1,允许访问提供端服务c的3.1和3.2版本 -->
<service
consumer-service-name=
"discovery-springcloud-example-b"
provider-service-name=
"discovery-springcloud-example-c"
consumer-version-value=
"2.1"
provider-version-value=
"3.1;3.2"
/>
</version>
</discovery>
</rule>
\ No newline at end of file
discovery-springcloud-example-
b3
/pom.xml
→
discovery-springcloud-example-
c1
/pom.xml
View file @
c10c9352
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<groupId>
com.nepxion
</groupId>
<groupId>
com.nepxion
</groupId>
<artifactId>
discovery-springcloud-example-
b3
</artifactId>
<artifactId>
discovery-springcloud-example-
c1
</artifactId>
<name>
Nepxion Discovery Spring Cloud Example
B3
</name>
<name>
Nepxion Discovery Spring Cloud Example
C1
</name>
<packaging>
jar
</packaging>
<packaging>
jar
</packaging>
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
<version>
1.0.0
</version>
<version>
1.0.0
</version>
...
...
discovery-springcloud-example-
b3
/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
→
discovery-springcloud-example-
c1
/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
View file @
c10c9352
File moved
discovery-springcloud-example-
b3
/src/main/resources/application.properties
→
discovery-springcloud-example-
c1
/src/main/resources/application.properties
View file @
c10c9352
# Spring cloud config
# Spring cloud config
spring.application.name
=
discovery-springcloud-example-
b
spring.application.name
=
discovery-springcloud-example-
c
server.port
=
4324
server.port
=
1300
eureka.client.serviceUrl.defaultZone
=
http://10.0.75.1:9528/eureka/
eureka.client.serviceUrl.defaultZone
=
http://10.0.75.1:9528/eureka/
eureka.instance.preferIpAddress
=
true
eureka.instance.preferIpAddress
=
true
eureka.instance.metadataMap.version
=
2.0
eureka.instance.metadataMap.version
=
3.0
\ No newline at end of file
\ No newline at end of file
discovery-springcloud-example-
b3
/src/main/resources/logback.xml
→
discovery-springcloud-example-
c1
/src/main/resources/logback.xml
View file @
c10c9352
File moved
discovery-springcloud-example-c2/pom.xml
0 → 100644
View file @
c10c9352
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<groupId>
com.nepxion
</groupId>
<artifactId>
discovery-springcloud-example-c2
</artifactId>
<name>
Nepxion Discovery Spring Cloud Example C2
</name>
<packaging>
jar
</packaging>
<modelVersion>
4.0.0
</modelVersion>
<version>
1.0.0
</version>
<description>
Nepxion Discovery is an enhancement for Spring Cloud Discovery
</description>
<url>
http://www.nepxion.com
</url>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
1.5.6.RELEASE
</version>
</parent>
<properties>
<spring.cloud.version>
Dalston.SR5
</spring.cloud.version>
<!-- <spring.cloud.version>Edgware.SR3</spring.cloud.version> -->
<java.version>
1.8
</java.version>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-dependencies
</artifactId>
<version>
${spring.cloud.version}
</version>
<type>
pom
</type>
<scope>
import
</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-eureka
</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<compilerArgs>
<arg>
-parameters
</arg>
</compilerArgs>
<encoding>
${project.build.sourceEncoding}
</encoding>
<source>
${java.version}
</source>
<target>
${java.version}
</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
discovery-springcloud-example-c2/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
0 → 100644
View file @
c10c9352
package
com
.
nepxion
.
discovery
.
plugin
.
example
;
/**
* <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.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
@SpringBootApplication
@EnableDiscoveryClient
public
class
DiscoveryApplication
{
public
static
void
main
(
String
[]
args
)
{
new
SpringApplicationBuilder
(
DiscoveryApplication
.
class
).
web
(
true
).
run
(
args
);
}
}
\ No newline at end of file
discovery-springcloud-example-c2/src/main/resources/application.properties
0 → 100644
View file @
c10c9352
# Spring cloud config
spring.application.name
=
discovery-springcloud-example-c
server.port
=
1301
eureka.client.serviceUrl.defaultZone
=
http://10.0.75.1:9528/eureka/
eureka.instance.preferIpAddress
=
true
eureka.instance.metadataMap.version
=
3.1
\ No newline at end of file
discovery-springcloud-example-c2/src/main/resources/logback.xml
0 → 100644
View file @
c10c9352
<!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
<configuration
scan=
"true"
scanPeriod=
"10 seconds"
>
<!-- Simple file output -->
<appender
name=
"FILE"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- encoder defaults to ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>
discovery %date %level [%thread] %logger{10} [%file:%line] - %msg%n
</pattern>
<charset>
UTF-8
</charset>
</encoder>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"
>
<fileNamePattern>
log/discovery-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<maxFileSize>
50MB
</maxFileSize>
</rollingPolicy>
<filter
class=
"ch.qos.logback.classic.filter.ThresholdFilter"
>
<level>
INFO
</level>
</filter>
<!-- Safely log to the same file from multiple JVMs. Degrades performance! -->
<prudent>
true
</prudent>
</appender>
<appender
name =
"FILE_ASYNC"
class=
"ch.qos.logback.classic.AsyncAppender"
>
<discardingThreshold>
0
</discardingThreshold>
<queueSize>
512
</queueSize>
<appender-ref
ref =
"FILE"
/>
</appender>
<!-- Console output -->
<appender
name=
"STDOUT"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<!-- encoder defaults to ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>
discovery %date %level [%thread] %logger{10} [%file:%line] - %msg%n
</pattern>
<charset>
UTF-8
</charset>
</encoder>
<!-- Only log level WARN and above -->
<filter
class=
"ch.qos.logback.classic.filter.ThresholdFilter"
>
<level>
INFO
</level>
</filter>
</appender>
<!-- For loggers in the these namespaces, log at all levels. -->
<logger
name=
"pedestal"
level=
"ALL"
/>
<logger
name=
"hammock-cafe"
level=
"ALL"
/>
<logger
name=
"user"
level=
"ALL"
/>
<root
level=
"INFO"
>
<!-- <appender-ref ref="FILE_ASYNC" /> -->
<appender-ref
ref=
"STDOUT"
/>
</root>
</configuration>
discovery-springcloud-example-c3/pom.xml
0 → 100644
View file @
c10c9352
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<groupId>
com.nepxion
</groupId>
<artifactId>
discovery-springcloud-example-c3
</artifactId>
<name>
Nepxion Discovery Spring Cloud Example C3
</name>
<packaging>
jar
</packaging>
<modelVersion>
4.0.0
</modelVersion>
<version>
1.0.0
</version>
<description>
Nepxion Discovery is an enhancement for Spring Cloud Discovery
</description>
<url>
http://www.nepxion.com
</url>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-parent
</artifactId>
<version>
1.5.6.RELEASE
</version>
</parent>
<properties>
<spring.cloud.version>
Dalston.SR5
</spring.cloud.version>
<!-- <spring.cloud.version>Edgware.SR3</spring.cloud.version> -->
<java.version>
1.8
</java.version>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-dependencies
</artifactId>
<version>
${spring.cloud.version}
</version>
<type>
pom
</type>
<scope>
import
</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>
org.springframework.cloud
</groupId>
<artifactId>
spring-cloud-starter-eureka
</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<compilerArgs>
<arg>
-parameters
</arg>
</compilerArgs>
<encoding>
${project.build.sourceEncoding}
</encoding>
<source>
${java.version}
</source>
<target>
${java.version}
</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
\ No newline at end of file
discovery-springcloud-example-c3/src/main/java/com/nepxion/discovery/plugin/example/DiscoveryApplication.java
0 → 100644
View file @
c10c9352
package
com
.
nepxion
.
discovery
.
plugin
.
example
;
/**
* <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.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.builder.SpringApplicationBuilder
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
@SpringBootApplication
@EnableDiscoveryClient
public
class
DiscoveryApplication
{
public
static
void
main
(
String
[]
args
)
{
new
SpringApplicationBuilder
(
DiscoveryApplication
.
class
).
web
(
true
).
run
(
args
);
}
}
\ No newline at end of file
discovery-springcloud-example-c3/src/main/resources/application.properties
0 → 100644
View file @
c10c9352
# Spring cloud config
spring.application.name
=
discovery-springcloud-example-c
server.port
=
1302
eureka.client.serviceUrl.defaultZone
=
http://10.0.75.1:9528/eureka/
eureka.instance.preferIpAddress
=
true
eureka.instance.metadataMap.version
=
3.2
\ No newline at end of file
discovery-springcloud-example-c3/src/main/resources/logback.xml
0 → 100644
View file @
c10c9352
<!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
<configuration
scan=
"true"
scanPeriod=
"10 seconds"
>
<!-- Simple file output -->
<appender
name=
"FILE"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<!-- encoder defaults to ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>
discovery %date %level [%thread] %logger{10} [%file:%line] - %msg%n
</pattern>
<charset>
UTF-8
</charset>
</encoder>
<rollingPolicy
class=
"ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"
>
<fileNamePattern>
log/discovery-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<maxFileSize>
50MB
</maxFileSize>
</rollingPolicy>
<filter
class=
"ch.qos.logback.classic.filter.ThresholdFilter"
>
<level>
INFO
</level>
</filter>
<!-- Safely log to the same file from multiple JVMs. Degrades performance! -->
<prudent>
true
</prudent>
</appender>
<appender
name =
"FILE_ASYNC"
class=
"ch.qos.logback.classic.AsyncAppender"
>
<discardingThreshold>
0
</discardingThreshold>
<queueSize>
512
</queueSize>
<appender-ref
ref =
"FILE"
/>
</appender>
<!-- Console output -->
<appender
name=
"STDOUT"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<!-- encoder defaults to ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>
discovery %date %level [%thread] %logger{10} [%file:%line] - %msg%n
</pattern>
<charset>
UTF-8
</charset>
</encoder>
<!-- Only log level WARN and above -->
<filter
class=
"ch.qos.logback.classic.filter.ThresholdFilter"
>
<level>
INFO
</level>
</filter>
</appender>
<!-- For loggers in the these namespaces, log at all levels. -->
<logger
name=
"pedestal"
level=
"ALL"
/>
<logger
name=
"hammock-cafe"
level=
"ALL"
/>
<logger
name=
"user"
level=
"ALL"
/>
<root
level=
"INFO"
>
<!-- <appender-ref ref="FILE_ASYNC" /> -->
<appender-ref
ref=
"STDOUT"
/>
</root>
</configuration>
pom.xml
View file @
c10c9352
...
@@ -18,7 +18,9 @@
...
@@ -18,7 +18,9 @@
<module>
discovery-springcloud-example-a
</module>
<module>
discovery-springcloud-example-a
</module>
<module>
discovery-springcloud-example-b1
</module>
<module>
discovery-springcloud-example-b1
</module>
<module>
discovery-springcloud-example-b2
</module>
<module>
discovery-springcloud-example-b2
</module>
<module>
discovery-springcloud-example-b3
</module>
<module>
discovery-springcloud-example-c1
</module>
<module>
discovery-springcloud-example-c2
</module>
<module>
discovery-springcloud-example-c3
</module>
</modules>
</modules>
<properties>
<properties>
...
...
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