diff --git a/README.md b/README.md index 08266b7..544747f 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ Spring cloud使用的各种示例,以最简单、最实用为标准 - [spring-cloud-hystrix](https://github.com/ityouknow/spring-cloud-starter/tree/master/spring-cloud-hystrix):Hystrix熔断的使用示例 - [hystrix-dashboard-turbine](https://github.com/ityouknow/spring-cloud-starter/tree/master/hystrix-dashboard-turbine):熔断监控Hystrix Dashboard和Turbine的示例 - [spring-cloud-config-git](https://github.com/ityouknow/spring-cloud-starter/tree/master/spring-cloud-config-git):配置中心git版本 +- [spring-cloud-config-svn](https://github.com/ityouknow/spring-cloud-starter/tree/master/spring-cloud-config-git):配置中心svn版本,客户端refres版本 @@ -22,6 +23,7 @@ Spring cloud使用的各种示例,以最简单、最实用为标准 - [springcloud(四):熔断器Hystrix](http://www.ityouknow.com/springcloud/2017/05/16/springcloud-hystrix.html) - [springcloud(五):熔断监控Hystrix Dashboard和Turbine](http://www.ityouknow.com/springcloud/2017/05/18/hystrix-dashboard-turbine.html) - [springcloud(六):配置中心(一)](http://www.ityouknow.com/springcloud/2017/05/22/springcloud-config.html) +- [springcloud(七):配置中心(二)](http://www.ityouknow.com/springcloud/2017/05/23/springcloud-config2.html) diff --git a/config-repo/neo-config-dev.properties b/spring-cloud-config-git/config-repo/neo-config-dev.properties similarity index 100% rename from config-repo/neo-config-dev.properties rename to spring-cloud-config-git/config-repo/neo-config-dev.properties diff --git a/config-repo/neo-config-pro.properties b/spring-cloud-config-git/config-repo/neo-config-pro.properties similarity index 100% rename from config-repo/neo-config-pro.properties rename to spring-cloud-config-git/config-repo/neo-config-pro.properties diff --git a/config-repo/neo-config-test.properties b/spring-cloud-config-git/config-repo/neo-config-test.properties similarity index 100% rename from config-repo/neo-config-test.properties rename to spring-cloud-config-git/config-repo/neo-config-test.properties diff --git a/spring-cloud-config-svn/config-repo/trunk/neo-config-dev.properties b/spring-cloud-config-svn/config-repo/trunk/neo-config-dev.properties new file mode 100644 index 0000000..307c1d5 --- /dev/null +++ b/spring-cloud-config-svn/config-repo/trunk/neo-config-dev.properties @@ -0,0 +1 @@ +neo.hello=hello im dev update \ No newline at end of file diff --git a/spring-cloud-config-svn/config-repo/trunk/neo-config-pro.properties b/spring-cloud-config-svn/config-repo/trunk/neo-config-pro.properties new file mode 100644 index 0000000..6f0d7e7 --- /dev/null +++ b/spring-cloud-config-svn/config-repo/trunk/neo-config-pro.properties @@ -0,0 +1 @@ +neo.hello=hello im pro \ No newline at end of file diff --git a/spring-cloud-config-svn/config-repo/trunk/neo-config-test.properties b/spring-cloud-config-svn/config-repo/trunk/neo-config-test.properties new file mode 100644 index 0000000..ae22e9a --- /dev/null +++ b/spring-cloud-config-svn/config-repo/trunk/neo-config-test.properties @@ -0,0 +1 @@ +neo.hello=hello im test \ No newline at end of file diff --git a/spring-cloud-config-svn/spring-cloud-config-client-refresh/pom.xml b/spring-cloud-config-svn/spring-cloud-config-client-refresh/pom.xml new file mode 100644 index 0000000..04dd109 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client-refresh/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + + com.neo + spring-cloud-config-client-refresh + 0.0.1-SNAPSHOT + jar + + spring-cloud-config-client-refresh + Demo project for Spring cloud config + + + org.springframework.boot + spring-boot-starter-parent + 1.5.3.RELEASE + + + + + UTF-8 + UTF-8 + 1.8 + Dalston.RELEASE + + + + + org.springframework.cloud + spring-cloud-starter-config + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + diff --git a/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/java/com/neo/ConfigClientApplication.java b/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/java/com/neo/ConfigClientApplication.java new file mode 100644 index 0000000..500881e --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/java/com/neo/ConfigClientApplication.java @@ -0,0 +1,13 @@ +package com.neo; + + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ConfigClientApplication { + + public static void main(String[] args) { + SpringApplication.run(ConfigClientApplication.class, args); + } +} diff --git a/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/java/com/neo/web/HelloController.java b/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/java/com/neo/web/HelloController.java new file mode 100644 index 0000000..5c0374d --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/java/com/neo/web/HelloController.java @@ -0,0 +1,19 @@ +package com.neo.web; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RefreshScope // 使用该注解的类,会在接到SpringCloud配置中心配置刷新的时候,自动将新的配置更新到该类对应的字段中。 +class HelloController { + + @Value("${neo.hello}") + private String hello; + + @RequestMapping("/hello") + public String from() { + return this.hello; + } +} \ No newline at end of file diff --git a/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/resources/application.properties b/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/resources/application.properties new file mode 100644 index 0000000..4140ed4 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/resources/application.properties @@ -0,0 +1,3 @@ +spring.application.name=spring-cloud-config-client +server.port=8002 +management.security.enabled=false \ No newline at end of file diff --git a/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/resources/bootstrap.properties b/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..06a2b91 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/main/resources/bootstrap.properties @@ -0,0 +1,7 @@ +spring.cloud.config.name=neo-config +spring.cloud.config.profile=dev +spring.cloud.config.uri=http://localhost:8001/ +spring.cloud.config.label=trunk + + + diff --git a/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/test/java/com/neo/ApplicationTests.java b/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/test/java/com/neo/ApplicationTests.java new file mode 100644 index 0000000..0e764a0 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client-refresh/src/test/java/com/neo/ApplicationTests.java @@ -0,0 +1,23 @@ +package com.neo; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class ApplicationTests { + + @Value("${neo.hello}") + private String hello; + + @Test + public void contextLoads() { + System.out.println("************************************************************"); + System.out.println("hello value : "+hello); + System.out.println("************************************************************"); + } + +} diff --git a/spring-cloud-config-svn/spring-cloud-config-client/pom.xml b/spring-cloud-config-svn/spring-cloud-config-client/pom.xml new file mode 100644 index 0000000..cc5cfa1 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client/pom.xml @@ -0,0 +1,66 @@ + + + 4.0.0 + + com.neo + spring-cloud-config-client + 0.0.1-SNAPSHOT + jar + + spring-cloud-config-client + Demo project for Spring cloud config + + + org.springframework.boot + spring-boot-starter-parent + 1.5.3.RELEASE + + + + + UTF-8 + UTF-8 + 1.8 + Dalston.RELEASE + + + + + org.springframework.cloud + spring-cloud-starter-config + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + diff --git a/spring-cloud-config-svn/spring-cloud-config-client/src/main/java/com/neo/ConfigClientApplication.java b/spring-cloud-config-svn/spring-cloud-config-client/src/main/java/com/neo/ConfigClientApplication.java new file mode 100644 index 0000000..500881e --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client/src/main/java/com/neo/ConfigClientApplication.java @@ -0,0 +1,13 @@ +package com.neo; + + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ConfigClientApplication { + + public static void main(String[] args) { + SpringApplication.run(ConfigClientApplication.class, args); + } +} diff --git a/spring-cloud-config-svn/spring-cloud-config-client/src/main/java/com/neo/web/HelloController.java b/spring-cloud-config-svn/spring-cloud-config-client/src/main/java/com/neo/web/HelloController.java new file mode 100644 index 0000000..3310671 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client/src/main/java/com/neo/web/HelloController.java @@ -0,0 +1,17 @@ +package com.neo.web; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +class HelloController { + + @Value("${neo.hello}") + private String hello; + + @RequestMapping("/hello") + public String from() { + return this.hello; + } +} \ No newline at end of file diff --git a/spring-cloud-config-svn/spring-cloud-config-client/src/main/resources/application.properties b/spring-cloud-config-svn/spring-cloud-config-client/src/main/resources/application.properties new file mode 100644 index 0000000..af3b525 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client/src/main/resources/application.properties @@ -0,0 +1,2 @@ +spring.application.name=spring-cloud-config-client +server.port=8002 diff --git a/spring-cloud-config-svn/spring-cloud-config-client/src/main/resources/bootstrap.properties b/spring-cloud-config-svn/spring-cloud-config-client/src/main/resources/bootstrap.properties new file mode 100644 index 0000000..06a2b91 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client/src/main/resources/bootstrap.properties @@ -0,0 +1,7 @@ +spring.cloud.config.name=neo-config +spring.cloud.config.profile=dev +spring.cloud.config.uri=http://localhost:8001/ +spring.cloud.config.label=trunk + + + diff --git a/spring-cloud-config-svn/spring-cloud-config-client/src/test/java/com/neo/ApplicationTests.java b/spring-cloud-config-svn/spring-cloud-config-client/src/test/java/com/neo/ApplicationTests.java new file mode 100644 index 0000000..0e764a0 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-client/src/test/java/com/neo/ApplicationTests.java @@ -0,0 +1,23 @@ +package com.neo; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class ApplicationTests { + + @Value("${neo.hello}") + private String hello; + + @Test + public void contextLoads() { + System.out.println("************************************************************"); + System.out.println("hello value : "+hello); + System.out.println("************************************************************"); + } + +} diff --git a/spring-cloud-config-svn/spring-cloud-config-server/pom.xml b/spring-cloud-config-svn/spring-cloud-config-server/pom.xml new file mode 100644 index 0000000..80efbd8 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-server/pom.xml @@ -0,0 +1,61 @@ + + + 4.0.0 + + com.neo + spring-cloud-config-server + 0.0.1-SNAPSHOT + jar + + spring-cloud-config-server + Demo project for Spring cloud config + + + org.springframework.boot + spring-boot-starter-parent + 1.5.3.RELEASE + + + + + UTF-8 + UTF-8 + 1.8 + Dalston.RELEASE + + + + + org.springframework.cloud + spring-cloud-config-server + + + org.tmatesoft.svnkit + svnkit + + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + diff --git a/spring-cloud-config-svn/spring-cloud-config-server/src/main/java/com/neo/ConfigServerApplication.java b/spring-cloud-config-svn/spring-cloud-config-server/src/main/java/com/neo/ConfigServerApplication.java new file mode 100644 index 0000000..27b9cad --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-server/src/main/java/com/neo/ConfigServerApplication.java @@ -0,0 +1,15 @@ +package com.neo; + + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.config.server.EnableConfigServer; + +@EnableConfigServer +@SpringBootApplication +public class ConfigServerApplication { + + public static void main(String[] args) { + SpringApplication.run(ConfigServerApplication.class, args); + } +} diff --git a/spring-cloud-config-svn/spring-cloud-config-server/src/main/resources/application.yml b/spring-cloud-config-svn/spring-cloud-config-server/src/main/resources/application.yml new file mode 100644 index 0000000..3ca6d93 --- /dev/null +++ b/spring-cloud-config-svn/spring-cloud-config-server/src/main/resources/application.yml @@ -0,0 +1,16 @@ +server: + port: 8001 + +spring: + cloud: + config: + server: + svn: + uri: http://192.168.9.62/svn/repo/zhongxin/public/temp/config-repo + username: zhongxin + password: zhongxin + default-label: trunk + profiles: + active: subversion + application: + name: spring-cloud-config-server