From c5d370368cdad895f50a3f6fdb59d79bcc457c02 Mon Sep 17 00:00:00 2001 From: Yiming Liu Date: Thu, 17 Mar 2016 17:22:28 +0800 Subject: [PATCH] Add Eureka Service Discovery --- apollo-configserver/pom.xml | 19 +----------- .../service/DiscoveryService.java | 29 +++++++++++++++++++ .../src/main/resources/bootstrap.yml | 14 ++++++--- .../AbstractConfigServerTest.java | 22 +------------- ...figServerApplicationTestConfiguration.java | 8 ----- .../service/DiscoveryServiceTest.java | 6 ++-- .../src/test/resources/application.yml | 4 +-- .../src/test/resources/bootstrap.yml | 17 ++++++----- apollo-metaserver/pom.xml | 19 +----------- .../metaserver/MetaServerApplication.java | 21 ++++++++------ .../controller/ServiceController.java | 29 +++++++++++++++++++ .../metaserver/service/DiscoveryService.java | 22 +++++++------- .../src/main/resources/application.yml | 9 ++++-- .../src/main/resources/bootstrap.yml | 17 ++++++++--- .../metaserver/AbstractMetaServerTest.java | 22 +------------- ...etaServerApplicationTestConfiguration.java | 10 ------- .../service/DiscoveryServiceTest.java | 21 ++++++++++++++ .../src/test/resources/application.yml | 3 -- .../src/test/resources/bootstrap.yml | 17 ++++++++--- apollo-portal/pom.xml | 4 +-- .../src/main/resources/application.properties | 3 -- .../src/main/resources/application.yml | 11 +++++++ .../apollo/portal/AbstractPortalTest.java | 2 +- .../PortalApplicationTestConfiguration.java | 8 ----- .../portal/controller/AppControllerTest.java | 10 +++++-- .../src/test/resources/application.properties | 5 ---- .../src/test/resources/application.yml | 11 +++++++ pom.xml | 4 +-- 28 files changed, 197 insertions(+), 170 deletions(-) create mode 100644 apollo-configserver/src/main/java/com/ctrip/apollo/configserver/service/DiscoveryService.java delete mode 100644 apollo-configserver/src/test/java/com/ctrip/apollo/configserver/ConfigServerApplicationTestConfiguration.java rename apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/service/ServiceDiscoveryTest.java => apollo-configserver/src/test/java/com/ctrip/apollo/configserver/service/DiscoveryServiceTest.java (69%) create mode 100644 apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/controller/ServiceController.java delete mode 100644 apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/MetaServerApplicationTestConfiguration.java create mode 100644 apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/service/DiscoveryServiceTest.java delete mode 100644 apollo-portal/src/main/resources/application.properties create mode 100644 apollo-portal/src/main/resources/application.yml delete mode 100644 apollo-portal/src/test/java/com/ctrip/apollo/portal/PortalApplicationTestConfiguration.java delete mode 100644 apollo-portal/src/test/resources/application.properties create mode 100644 apollo-portal/src/test/resources/application.yml diff --git a/apollo-configserver/pom.xml b/apollo-configserver/pom.xml index 6d0a754cb..fe800d7f8 100644 --- a/apollo-configserver/pom.xml +++ b/apollo-configserver/pom.xml @@ -21,24 +21,12 @@ org.springframework.cloud - spring-cloud-zookeeper-discovery - - - org.apache.curator - curator-x-discovery + spring-cloud-starter-eureka org.springframework.boot spring-boot-starter-data-jpa - - org.springframework.data - spring-data-redis - - - redis.clients - jedis - com.h2database h2 @@ -48,11 +36,6 @@ mysql-connector-java runtime - - org.apache.curator - curator-test - test - diff --git a/apollo-configserver/src/main/java/com/ctrip/apollo/configserver/service/DiscoveryService.java b/apollo-configserver/src/main/java/com/ctrip/apollo/configserver/service/DiscoveryService.java new file mode 100644 index 000000000..6b739326a --- /dev/null +++ b/apollo-configserver/src/main/java/com/ctrip/apollo/configserver/service/DiscoveryService.java @@ -0,0 +1,29 @@ +package com.ctrip.apollo.configserver.service; + +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.stereotype.Service; + +import com.ctrip.apollo.core.ServiceIdConsts; + +@Service +public class DiscoveryService { + + @Autowired + private DiscoveryClient discoveryClient; + + public List getConfigServerServiceInstances() { + List instances = + discoveryClient.getInstances(ServiceIdConsts.APOLLO_CONFIGSERVER); + return instances; + } + + public List getMetaServerServiceInstances() { + List instances = + discoveryClient.getInstances(ServiceIdConsts.APOLLO_METASERVER); + return instances; + } +} diff --git a/apollo-configserver/src/main/resources/bootstrap.yml b/apollo-configserver/src/main/resources/bootstrap.yml index 796fc67bf..3ce943cb5 100644 --- a/apollo-configserver/src/main/resources/bootstrap.yml +++ b/apollo-configserver/src/main/resources/bootstrap.yml @@ -1,4 +1,10 @@ -spring: - cloud: - zookeeper: - connectString: 10.3.2.57:2181,10.3.2.58:2181,10.3.2.59:2181 \ No newline at end of file +eureka: + instance: + hostname: localhost + preferIpAddress: true + client: + fetchRegistry: false + serviceUrl: + defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ + healthcheck: + enabled: true \ No newline at end of file diff --git a/apollo-configserver/src/test/java/com/ctrip/apollo/configserver/AbstractConfigServerTest.java b/apollo-configserver/src/test/java/com/ctrip/apollo/configserver/AbstractConfigServerTest.java index cb39b3119..2a554ade5 100644 --- a/apollo-configserver/src/test/java/com/ctrip/apollo/configserver/AbstractConfigServerTest.java +++ b/apollo-configserver/src/test/java/com/ctrip/apollo/configserver/AbstractConfigServerTest.java @@ -1,31 +1,11 @@ package com.ctrip.apollo.configserver; -import java.io.IOException; - -import org.apache.curator.test.TestingServer; -import org.junit.AfterClass; -import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = ConfigServerApplicationTestConfiguration.class) +@SpringApplicationConfiguration(classes = ConfigServerApplication.class) public abstract class AbstractConfigServerTest { - private static TestingServer zkTestServer; - - @BeforeClass - public static void beforeClass() throws Exception { - zkTestServer = new TestingServer(2181, false); - zkTestServer.start(); - System.out.format("embedded zookeeper is up %s%n", zkTestServer.getConnectString()); - } - - @AfterClass - public static void afterClass() throws IOException { - if (zkTestServer != null) { - zkTestServer.close(); - } - } } diff --git a/apollo-configserver/src/test/java/com/ctrip/apollo/configserver/ConfigServerApplicationTestConfiguration.java b/apollo-configserver/src/test/java/com/ctrip/apollo/configserver/ConfigServerApplicationTestConfiguration.java deleted file mode 100644 index f537ed8b7..000000000 --- a/apollo-configserver/src/test/java/com/ctrip/apollo/configserver/ConfigServerApplicationTestConfiguration.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.ctrip.apollo.configserver; - -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class ConfigServerApplicationTestConfiguration { - -} diff --git a/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/service/ServiceDiscoveryTest.java b/apollo-configserver/src/test/java/com/ctrip/apollo/configserver/service/DiscoveryServiceTest.java similarity index 69% rename from apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/service/ServiceDiscoveryTest.java rename to apollo-configserver/src/test/java/com/ctrip/apollo/configserver/service/DiscoveryServiceTest.java index 77230544f..1009541ff 100644 --- a/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/service/ServiceDiscoveryTest.java +++ b/apollo-configserver/src/test/java/com/ctrip/apollo/configserver/service/DiscoveryServiceTest.java @@ -1,4 +1,4 @@ -package com.ctrip.apollo.metaserver.service; +package com.ctrip.apollo.configserver.service; import java.util.List; @@ -6,9 +6,9 @@ import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.client.ServiceInstance; -import com.ctrip.apollo.metaserver.AbstractMetaServerTest; +import com.ctrip.apollo.configserver.AbstractConfigServerTest; -public class ServiceDiscoveryTest extends AbstractMetaServerTest { +public class DiscoveryServiceTest extends AbstractConfigServerTest { @Autowired private DiscoveryService discoveryService; diff --git a/apollo-configserver/src/test/resources/application.yml b/apollo-configserver/src/test/resources/application.yml index 44848a4eb..08f0369b3 100644 --- a/apollo-configserver/src/test/resources/application.yml +++ b/apollo-configserver/src/test/resources/application.yml @@ -6,8 +6,8 @@ logging: org.springframework.cloud: 'DEBUG' spring: - profiles: - active: native + application: + name: apollo-configserver datasource: url: jdbc:h2:file:~/fxapolloconfigdb;DB_CLOSE_ON_EXIT=FALSE username: sa diff --git a/apollo-configserver/src/test/resources/bootstrap.yml b/apollo-configserver/src/test/resources/bootstrap.yml index 825b0e525..3ce943cb5 100644 --- a/apollo-configserver/src/test/resources/bootstrap.yml +++ b/apollo-configserver/src/test/resources/bootstrap.yml @@ -1,7 +1,10 @@ -spring: - application: - name: apollo-configserver - - cloud: - zookeeper: - connectString:localhost:2181 \ No newline at end of file +eureka: + instance: + hostname: localhost + preferIpAddress: true + client: + fetchRegistry: false + serviceUrl: + defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ + healthcheck: + enabled: true \ No newline at end of file diff --git a/apollo-metaserver/pom.xml b/apollo-metaserver/pom.xml index 4c82d38f4..817e1ec2a 100644 --- a/apollo-metaserver/pom.xml +++ b/apollo-metaserver/pom.xml @@ -17,24 +17,7 @@ org.springframework.cloud - spring-cloud-starter-config - - - org.springframework.cloud - spring-cloud-zookeeper-discovery - - - org.apache.curator - curator-x-discovery - - - org.springframework.boot - spring-boot-starter-web - - - org.apache.curator - curator-test - test + spring-cloud-starter-eureka-server diff --git a/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/MetaServerApplication.java b/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/MetaServerApplication.java index 955a6029e..718d5c3e3 100644 --- a/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/MetaServerApplication.java +++ b/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/MetaServerApplication.java @@ -2,22 +2,25 @@ package com.ctrip.apollo.metaserver; import java.util.List; -import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.ServiceInstance; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.context.ApplicationContext; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.netflix.eureka.EnableEurekaClient; +import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; +import org.springframework.context.ConfigurableApplicationContext; import com.ctrip.apollo.metaserver.service.DiscoveryService; +import com.netflix.appinfo.InstanceInfo; @SpringBootApplication -@EnableDiscoveryClient +@EnableEurekaServer +@EnableEurekaClient public class MetaServerApplication { public static void main(String[] args) { - ApplicationContext context = SpringApplication.run(MetaServerApplication.class, args); - List metaServerServiceInstances = - context.getBean(DiscoveryService.class).getMetaServerServiceInstances(); - System.out.println(metaServerServiceInstances); + ConfigurableApplicationContext context = + new SpringApplicationBuilder(MetaServerApplication.class).web(true).run(args); + DiscoveryService discoveryService = context.getBean(DiscoveryService.class); + List instances = discoveryService.getMetaServerServiceInstance(); + System.out.println(instances); } } diff --git a/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/controller/ServiceController.java b/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/controller/ServiceController.java new file mode 100644 index 000000000..85bc41d93 --- /dev/null +++ b/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/controller/ServiceController.java @@ -0,0 +1,29 @@ +package com.ctrip.apollo.metaserver.controller; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.ctrip.apollo.metaserver.service.DiscoveryService; +import com.netflix.appinfo.InstanceInfo; + +@RestController +@RequestMapping("/services") +public class ServiceController { + + @Autowired + private DiscoveryService discoveryService; + + + @RequestMapping("/meta") + public List metaServer() { + return discoveryService.getMetaServerServiceInstance(); + } + + @RequestMapping("/config") + public List configServer() { + return discoveryService.getConfigServerServiceInstance(); + } +} diff --git a/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/service/DiscoveryService.java b/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/service/DiscoveryService.java index 2ff50deb0..9c4a031f7 100644 --- a/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/service/DiscoveryService.java +++ b/apollo-metaserver/src/main/java/com/ctrip/apollo/metaserver/service/DiscoveryService.java @@ -3,27 +3,27 @@ package com.ctrip.apollo.metaserver.service; 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.stereotype.Service; import com.ctrip.apollo.core.ServiceIdConsts; +import com.netflix.appinfo.InstanceInfo; +import com.netflix.discovery.EurekaClient; +import com.netflix.discovery.shared.Application; @Service public class DiscoveryService { @Autowired - private DiscoveryClient discoveryClient; + private EurekaClient eurekaClient; - public List getConfigServerServiceInstances() { - List instances = - discoveryClient.getInstances(ServiceIdConsts.APOLLO_CONFIGSERVER); - return instances; + public List getConfigServerServiceInstance() { + Application application = eurekaClient.getApplication(ServiceIdConsts.APOLLO_CONFIGSERVER); + return application.getInstances(); } - public List getMetaServerServiceInstances() { - List instances = - discoveryClient.getInstances(ServiceIdConsts.APOLLO_METASERVER); - return instances; + public List getMetaServerServiceInstance() { + Application application = eurekaClient.getApplication(ServiceIdConsts.APOLLO_METASERVER); + return application.getInstances(); } + } diff --git a/apollo-metaserver/src/main/resources/application.yml b/apollo-metaserver/src/main/resources/application.yml index 4fa665e66..530cdcee7 100644 --- a/apollo-metaserver/src/main/resources/application.yml +++ b/apollo-metaserver/src/main/resources/application.yml @@ -1,8 +1,11 @@ -server: - port: 80 - spring: application: name: apollo-metaserver profiles: active: native + +logging: + level: + + + \ No newline at end of file diff --git a/apollo-metaserver/src/main/resources/bootstrap.yml b/apollo-metaserver/src/main/resources/bootstrap.yml index 33a37e8e6..6b4336661 100644 --- a/apollo-metaserver/src/main/resources/bootstrap.yml +++ b/apollo-metaserver/src/main/resources/bootstrap.yml @@ -1,4 +1,13 @@ -spring: - cloud: - zookeeper: - connectString: 10.3.2.57:2181,10.3.2.58:2181,10.3.2.59:2181 \ No newline at end of file +server: + port: 8761 + +eureka: + instance: + hostname: localhost + preferIpAddress: true + client: + fetchRegistry: false + serviceUrl: + defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ + healthcheck: + enabled: true \ No newline at end of file diff --git a/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/AbstractMetaServerTest.java b/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/AbstractMetaServerTest.java index b38ec5778..6938e1eea 100644 --- a/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/AbstractMetaServerTest.java +++ b/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/AbstractMetaServerTest.java @@ -1,31 +1,11 @@ package com.ctrip.apollo.metaserver; -import java.io.IOException; - -import org.apache.curator.test.TestingServer; -import org.junit.AfterClass; -import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = MetaServerApplicationTestConfiguration.class) +@SpringApplicationConfiguration(classes = MetaServerApplication.class) public abstract class AbstractMetaServerTest { - private static TestingServer zkTestServer; - - @BeforeClass - public static void beforeClass() throws Exception { - zkTestServer = new TestingServer(2181, false); - zkTestServer.start(); - System.out.format("embedded zookeeper is up %s%n", zkTestServer.getConnectString()); - } - - @AfterClass - public static void afterClass() throws IOException { - if (zkTestServer != null) { - zkTestServer.close(); - } - } } diff --git a/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/MetaServerApplicationTestConfiguration.java b/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/MetaServerApplicationTestConfiguration.java deleted file mode 100644 index a4848edfe..000000000 --- a/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/MetaServerApplicationTestConfiguration.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.ctrip.apollo.metaserver; - -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; - -@SpringBootApplication -//@EnableDiscoveryClient -public class MetaServerApplicationTestConfiguration { - -} diff --git a/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/service/DiscoveryServiceTest.java b/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/service/DiscoveryServiceTest.java new file mode 100644 index 000000000..e14bcd8a7 --- /dev/null +++ b/apollo-metaserver/src/test/java/com/ctrip/apollo/metaserver/service/DiscoveryServiceTest.java @@ -0,0 +1,21 @@ +package com.ctrip.apollo.metaserver.service; + +import java.util.List; + +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +import com.ctrip.apollo.metaserver.AbstractMetaServerTest; +import com.netflix.appinfo.InstanceInfo; + +public class DiscoveryServiceTest extends AbstractMetaServerTest { + + @Autowired + private DiscoveryService discoveryService; + + @Test + public void testGetLocalMetaServerServices() { + List instances = discoveryService.getMetaServerServiceInstance(); + System.out.println(instances); + } +} diff --git a/apollo-metaserver/src/test/resources/application.yml b/apollo-metaserver/src/test/resources/application.yml index 4fa665e66..00a181dae 100644 --- a/apollo-metaserver/src/test/resources/application.yml +++ b/apollo-metaserver/src/test/resources/application.yml @@ -1,6 +1,3 @@ -server: - port: 80 - spring: application: name: apollo-metaserver diff --git a/apollo-metaserver/src/test/resources/bootstrap.yml b/apollo-metaserver/src/test/resources/bootstrap.yml index adcc2cb29..6b4336661 100644 --- a/apollo-metaserver/src/test/resources/bootstrap.yml +++ b/apollo-metaserver/src/test/resources/bootstrap.yml @@ -1,4 +1,13 @@ -spring: - cloud: - zookeeper: - connectString: localhost:2181 \ No newline at end of file +server: + port: 8761 + +eureka: + instance: + hostname: localhost + preferIpAddress: true + client: + fetchRegistry: false + serviceUrl: + defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ + healthcheck: + enabled: true \ No newline at end of file diff --git a/apollo-portal/pom.xml b/apollo-portal/pom.xml index 955aaf17f..d1c2afca5 100644 --- a/apollo-portal/pom.xml +++ b/apollo-portal/pom.xml @@ -16,8 +16,8 @@ apollo-core - org.springframework.boot - spring-boot-starter-web + org.springframework.cloud + spring-cloud-starter-eureka org.springframework.boot diff --git a/apollo-portal/src/main/resources/application.properties b/apollo-portal/src/main/resources/application.properties deleted file mode 100644 index d0d458ad6..000000000 --- a/apollo-portal/src/main/resources/application.properties +++ /dev/null @@ -1,3 +0,0 @@ -spring.datasource.url = jdbc:h2:file:~/fxapolloportaldb -spring.datasource.username = sa -spring.datasource.password = sa diff --git a/apollo-portal/src/main/resources/application.yml b/apollo-portal/src/main/resources/application.yml new file mode 100644 index 000000000..2d3607da8 --- /dev/null +++ b/apollo-portal/src/main/resources/application.yml @@ -0,0 +1,11 @@ +server: + port: 80 + +spring: + application: + name: apollo-portal + datasource: + url: jdbc:h2:file:~/fxapolloportaldb + username: sa + password: sa + diff --git a/apollo-portal/src/test/java/com/ctrip/apollo/portal/AbstractPortalTest.java b/apollo-portal/src/test/java/com/ctrip/apollo/portal/AbstractPortalTest.java index cf7d5b0be..3f11295e2 100644 --- a/apollo-portal/src/test/java/com/ctrip/apollo/portal/AbstractPortalTest.java +++ b/apollo-portal/src/test/java/com/ctrip/apollo/portal/AbstractPortalTest.java @@ -5,7 +5,7 @@ import org.springframework.boot.test.SpringApplicationConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) -@SpringApplicationConfiguration(classes = PortalApplicationTestConfiguration.class) +@SpringApplicationConfiguration(classes = PortalApplication.class) public abstract class AbstractPortalTest { } diff --git a/apollo-portal/src/test/java/com/ctrip/apollo/portal/PortalApplicationTestConfiguration.java b/apollo-portal/src/test/java/com/ctrip/apollo/portal/PortalApplicationTestConfiguration.java deleted file mode 100644 index 42edfd3ef..000000000 --- a/apollo-portal/src/test/java/com/ctrip/apollo/portal/PortalApplicationTestConfiguration.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.ctrip.apollo.portal; - -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class PortalApplicationTestConfiguration { - -} diff --git a/apollo-portal/src/test/java/com/ctrip/apollo/portal/controller/AppControllerTest.java b/apollo-portal/src/test/java/com/ctrip/apollo/portal/controller/AppControllerTest.java index 7be71fc2b..9ac2b2fe3 100644 --- a/apollo-portal/src/test/java/com/ctrip/apollo/portal/controller/AppControllerTest.java +++ b/apollo-portal/src/test/java/com/ctrip/apollo/portal/controller/AppControllerTest.java @@ -6,6 +6,7 @@ import java.net.URISyntaxException; import org.junit.Assert; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.TestRestTemplate; import org.springframework.boot.test.WebIntegrationTest; import org.springframework.http.HttpStatus; @@ -25,6 +26,9 @@ public class AppControllerTest extends AbstractPortalTest { @Autowired AppRepository appRepository; + @Value("${server.port}") + String serverPort; + @Test public void testCreate() throws URISyntaxException { App newApp = new App(); @@ -32,7 +36,7 @@ public class AppControllerTest extends AbstractPortalTest { newApp.setName("new app " + System.currentTimeMillis()); newApp.setOwner("owner " + System.currentTimeMillis()); - URI uri = new URI("http://localhost:8080/apps"); + URI uri = new URI("http://localhost:" + serverPort + "/apps"); App createdApp = restTemplate.postForObject(uri, newApp, App.class); Assert.assertEquals(newApp.getAppId(), createdApp.getAppId()); @@ -52,7 +56,7 @@ public class AppControllerTest extends AbstractPortalTest { newApp.setOwner("owner " + System.currentTimeMillis()); appRepository.save(newApp); - URI uri = new URI("http://localhost:8080/apps"); + URI uri = new URI("http://localhost:" + serverPort + "/apps"); App[] apps = restTemplate.getForObject(uri, App[].class); Assert.assertEquals(1, apps.length); @@ -67,7 +71,7 @@ public class AppControllerTest extends AbstractPortalTest { newApp.setOwner("owner " + System.currentTimeMillis()); appRepository.save(newApp); - URI uri = new URI("http://localhost:8080/apps?page=2"); + URI uri = new URI("http://localhost:" + serverPort + "/apps?page=2"); ResponseEntity entity = restTemplate.getForEntity(uri, App[].class); Assert.assertEquals(HttpStatus.NOT_FOUND, entity.getStatusCode()); diff --git a/apollo-portal/src/test/resources/application.properties b/apollo-portal/src/test/resources/application.properties deleted file mode 100644 index a0927e547..000000000 --- a/apollo-portal/src/test/resources/application.properties +++ /dev/null @@ -1,5 +0,0 @@ -spring.datasource.url = jdbc:h2:mem:fxapolloportaldb -spring.datasource.username = sa -spring.datasource.password = - -spring.jpa.show-sql: true \ No newline at end of file diff --git a/apollo-portal/src/test/resources/application.yml b/apollo-portal/src/test/resources/application.yml new file mode 100644 index 000000000..6e585d529 --- /dev/null +++ b/apollo-portal/src/test/resources/application.yml @@ -0,0 +1,11 @@ +server: + port: 80 + +spring: + datasource: + url: jdbc:h2:file:~/fxapolloportaldb + username: sa + password: sa + + jpa: + show-sql: true diff --git a/pom.xml b/pom.xml index 4b192ad56..560359687 100644 --- a/pom.xml +++ b/pom.xml @@ -118,8 +118,8 @@ org.springframework.cloud - spring-cloud-zookeeper - 1.0.0.M5 + spring-cloud-netflix + 1.1.0.M5 pom import -- GitLab