springCloud入门(三)远程调用方法
来源:互联网 发布:淘宝质量好的鞋店 编辑:程序博客网 时间:2024/05/17 15:37
新建一个客户端调用已经注册的远程服务器方法:
pom.xml
<?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"> <modelVersion>4.0.0</modelVersion> <groupId>demo</groupId> <artifactId>cloud-simple-ui</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.5.RELEASE</version> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Brixton.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.7</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- 使用eureka --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <!-- 使用hystrix --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency> <dependency> <groupId>org.jolokia</groupId> <artifactId>jolokia-core</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> <defaultGoal>compile</defaultGoal> </build></project>
user实体类
public class User { private String username; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; }}
userService 服务类
@Servicepublic class UserService { @Autowired RestTemplate restTemplate; final String SERVICE_NAME="远程调用的服务名称"; @HystrixCommand(fallbackMethod = "fallbackSearchAll") //这里使用了断路器,就是@HystrixCommand注解。断路器的基本作用就是@HystrixCommand注解的方法失败后,系统将自动切换到fallbackMethod方法执行。断路器Hystrix具备回退机制、请求缓存和请求打包以及监控和配置等功能 public List<User> readUserInfo() { return restTemplate.getForObject("http://"+SERVICE_NAME+"/user", List.class); } private List<User> fallbackSearchAll() { //这里是被@HystrixCommand方法注解过的方法失败后执行的方法 }}
UserController 控制器
@RestControllerpublic class UserController { @Autowired UserService userService; @RequestMapping(value="/users") public ResponseEntity<List<User>> readUserInfo(){ List<User> users=userService.readUserInfo(); return new ResponseEntity<List<User>>(users,HttpStatus.OK); }}
bootstrap.properties 配置文件
spring.cloud.config.uri=http://127.0.0.1:${config.port:8888}spring.cloud.config.name=cloud-configspring.cloud.config.profile=${config.profile:dev}eureka.client.serviceUrl.defaultZone=http\://localhost\:8761/eureka/#service namespring.application.name=当前项目注册eureka的名字#ribbon configcloud-simple-service.ribbon.ConnectTimeout=5000cloud-simple-service.ribbon.ReadTimeout=10000server.port=8080
启动类
public class WebApplication { public static void main(String[] args) throws Exception { SpringApplication.run(WebApplication.class, args); }}
启动程序后就可以在eureka中发现服务,访问URL即可远程调用方法。
阅读全文
0 0
- springCloud入门(三)远程调用方法
- rmi(远程方法调用)入门概述
- java远程方法调用(简单入门)
- RMI(远程方法调用)入门
- SpringCloud微服务架构搭建(三):服务调用
- springcloud feign远程调用熔断详解
- springcloud中feignclient远程过程调用demo
- springcloud入门(1)
- springcloud常见问题(三)
- 【SpringCloud】(一):SpringCloud入门程序
- JAVA远程方法调用入门指南
- springcloud(三):服务提供与调用
- springcloud(三):服务提供与调用
- springcloud(三):服务提供与调用
- springcloud(三):服务提供与调用
- springcloud(三):服务提供与调用
- springcloud(三):服务提供与调用
- Spring 2.0+ JRuby 快速入门三(调用方法)
- (算法分析Week16)132 Pattern[Medium]
- 数据结构实验之排序三:bucket sort
- 关于我不想看到ubuntu中 “检测到系统程序错误”
- CF 899E Segments Removal 链表+优先队列
- Cassandra创建键空间(Keyspace)
- springCloud入门(三)远程调用方法
- 【D3】D3.js使用教程(2)-绘图
- hadoop
- 深度学习优化
- 如果你没时间读书,就关注这几个号
- linux命令的使用帮助、man命令的基本使用
- 复盘!2017 关注这些Linux运维技术面的运维人都加薪了
- 早看少被坑!Python 最难的问题
- iOS 线程安全与锁