yasaka
7 years ago
10 changed files with 192 additions and 4 deletions
@ -0,0 +1,27 @@ |
|||
.gradle |
|||
/build/ |
|||
!gradle/wrapper/gradle-wrapper.jar |
|||
|
|||
### STS ### |
|||
.apt_generated |
|||
.classpath |
|||
.factorypath |
|||
.project |
|||
.settings |
|||
.springBeans |
|||
.sts4-cache |
|||
|
|||
### IntelliJ IDEA ### |
|||
.idea |
|||
*.iws |
|||
*.iml |
|||
*.ipr |
|||
/out/ |
|||
|
|||
### NetBeans ### |
|||
/nbproject/private/ |
|||
/build/ |
|||
/nbbuild/ |
|||
/dist/ |
|||
/nbdist/ |
|||
/.nb-gradle/ |
@ -0,0 +1,45 @@ |
|||
buildscript { |
|||
ext { |
|||
springBootVersion = '2.0.3.RELEASE' |
|||
} |
|||
repositories { |
|||
mavenCentral() |
|||
} |
|||
dependencies { |
|||
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") |
|||
} |
|||
} |
|||
|
|||
apply plugin: 'java' |
|||
apply plugin: 'eclipse' |
|||
apply plugin: 'org.springframework.boot' |
|||
apply plugin: 'io.spring.dependency-management' |
|||
|
|||
group = 'com.trgis' |
|||
version = '0.0.1-SNAPSHOT' |
|||
sourceCompatibility = 1.8 |
|||
|
|||
repositories { |
|||
mavenCentral() |
|||
} |
|||
|
|||
|
|||
ext { |
|||
springCloudVersion = 'Finchley.RELEASE' |
|||
} |
|||
|
|||
dependencies { |
|||
compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client') |
|||
compile('org.springframework.cloud:spring-cloud-starter-config') |
|||
compile('org.springframework.boot:spring-boot-starter-webflux') |
|||
compile('org.springframework.boot:spring-boot-starter-actuator') |
|||
compile('org.springframework.cloud:spring-cloud-starter-openfeign') |
|||
compile('org.springframework.cloud:spring-cloud-starter-netflix-hystrix') |
|||
testCompile('org.springframework.boot:spring-boot-starter-test') |
|||
} |
|||
|
|||
dependencyManagement { |
|||
imports { |
|||
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" |
|||
} |
|||
} |
@ -0,0 +1,27 @@ |
|||
package com.trgis.sb2sc; |
|||
|
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.boot.SpringApplication; |
|||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
|||
import org.springframework.boot.web.client.RestTemplateBuilder; |
|||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; |
|||
import org.springframework.cloud.client.loadbalancer.LoadBalanced; |
|||
import org.springframework.context.annotation.Bean; |
|||
import org.springframework.web.client.RestTemplate; |
|||
|
|||
@EnableDiscoveryClient |
|||
@SpringBootApplication |
|||
public class Sb2scConsumerApplication { |
|||
|
|||
@Autowired |
|||
private RestTemplateBuilder builder; |
|||
|
|||
@Bean |
|||
@LoadBalanced |
|||
public RestTemplate restTemplate() { |
|||
return builder.build(); |
|||
} |
|||
public static void main(String[] args) { |
|||
SpringApplication.run(Sb2scConsumerApplication.class, args); |
|||
} |
|||
} |
@ -0,0 +1,25 @@ |
|||
package com.trgis.sb2sc.controller; |
|||
|
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
import org.springframework.web.client.RestTemplate; |
|||
import reactor.core.publisher.Mono; |
|||
|
|||
@RestController |
|||
public class FeignController { |
|||
|
|||
@Autowired |
|||
private RestTemplate restTemplate; |
|||
|
|||
@Autowired |
|||
private LoadBalancerClient loadBalancerClient; |
|||
|
|||
@GetMapping("/feign/{wd}") |
|||
public Mono<String> sayHelloWorld(@PathVariable("wd") String parm) { |
|||
String res = this.restTemplate.getForObject("http://sc-provider/test/" + parm, String.class); |
|||
return Mono.just(res); |
|||
} |
|||
} |
@ -0,0 +1,25 @@ |
|||
package com.trgis.sb2sc.controller; |
|||
|
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
import org.springframework.web.client.RestTemplate; |
|||
import reactor.core.publisher.Mono; |
|||
|
|||
@RestController |
|||
public class RibbonController { |
|||
|
|||
@Autowired |
|||
private RestTemplate restTemplate; |
|||
|
|||
@Autowired |
|||
private LoadBalancerClient loadBalancerClient; |
|||
|
|||
@GetMapping("/ribbon/{wd}") |
|||
public Mono<String> sayHelloWorld(@PathVariable("wd") String parm) { |
|||
String res = this.restTemplate.getForObject("http://sc-provider/test/" + parm, String.class); |
|||
return Mono.just(res); |
|||
} |
|||
} |
@ -0,0 +1,22 @@ |
|||
eureka: |
|||
client: |
|||
service-url: |
|||
defaultZone: http://root:booszy@localhost:8761/eureka/ |
|||
instance: |
|||
prefer-ip-address: true |
|||
instance-id: ${spring.application.name}:${spring.application.instance_id:${server.port}} |
|||
appname: sc-consumer |
|||
|
|||
spring: |
|||
application: |
|||
name: sc-consumer |
|||
cloud: |
|||
config: |
|||
discovery: |
|||
enabled: true |
|||
service-id: springcloud-config-server |
|||
fail-fast: true |
|||
username: root |
|||
password: booszy |
|||
profile: csdn |
|||
|
@ -0,0 +1,16 @@ |
|||
package com.trgis.sb2sc; |
|||
|
|||
import org.junit.Test; |
|||
import org.junit.runner.RunWith; |
|||
import org.springframework.boot.test.context.SpringBootTest; |
|||
import org.springframework.test.context.junit4.SpringRunner; |
|||
|
|||
@RunWith(SpringRunner.class) |
|||
@SpringBootTest |
|||
public class Sb2scApplicationTests { |
|||
|
|||
@Test |
|||
public void contextLoads() { |
|||
} |
|||
|
|||
} |
@ -1,14 +1,15 @@ |
|||
package com.trgis.sb2sc.controller; |
|||
|
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
import reactor.core.publisher.Mono; |
|||
|
|||
@RestController |
|||
public class IndexController { |
|||
|
|||
@GetMapping("/helloworld") |
|||
public Mono<String> sayHelloWorld() { |
|||
return Mono.just("Hello World SC"); |
|||
@GetMapping("/test/{msg}") |
|||
public Mono<String> sayHelloWorld(@PathVariable("msg") String msg) { |
|||
return Mono.just("sc-provider receive : " +msg); |
|||
} |
|||
} |
|||
|
@ -1,2 +1,2 @@ |
|||
rootProject.name = 'sb2sc' |
|||
include('sc-eureka','sc-config','sc-provider') |
|||
include('sc-eureka','sc-config','sc-provider','sc-consumer') |
Loading…
Reference in new issue