JAVA每日报错 2024/2/23

1.先复习一下openfeign的远程调用
首先分为:被调用服务和调用服务
被调用服务相关:被调用服务什么都不用做,就按照正常的来就行
调用服务相关:
1.导入依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

2.创建调用客户端,也就是一个接口,此处以调用user-service为例

@FeignClient(value = "user-service")//value的值是被调用服务在注册中心的服务名称
public interface UserClient { //接口名称随意

    @GetMapping("/user/{id}")  //请求方式和请求路径应与被调用服务中的一致
    User findById(@PathVariable("id") Long id); //返回结果与方法名以及参数与被调用服务中一致
}

3.在启动类上添加启动远程调用注释

@SpringBootApplication
@EnableFeignClients
public class BasicApplication {
    public static void main(String[] args) {
        SpringApplication.run(BasicApplication .class,args);
    }
}

上面就已经完成了远程调用的入门案例
下面写降级方法,此处采用的是Hystrix(当远程调用失灵时,就会执行该方法)
4.先在application.yml文件中开Hytrix的熔断功能

feign:
  hystrix:
    enabled: true # 开启Feign的熔断功能

5.新建一个类实现上面的接口:

@Component
public class UserClientFallback implements UserClient {
    @Override
    public User findById(Long id) { //方法体中就是远程调用出错时执行的内容
        User user = new User();
        user.setId(0L);
        user.setUsername("用户查询出现异常!");
        return user;
    }
}

6.在调用客户端中添加降级方法

@FeignClient(value = "userservice", fallback = UserClientFallback.class)//此处就指定降级类
public interface UserClient {

    @GetMapping("/user/{id}")
    User findById(@PathVariable("id") Long id);
}

至此,Openfeign的远程调用相关内容就完成
哦,对了还有具体的使用方式,其实与包内单纯的调用一致,就是单纯的调用接口而已

@Autowired
private UserClient userClient;

public user demo(){
User user = userClient.findById(163543);
return user;
}

至此,远程调用的内容完成

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值