如何基于springcloud模拟RPC调用(Feign)
接下来我们将通过对上一章《客户端负载均衡》中的 message-center 项目进行改造,演示如何使用Feign。如果你的Feign客户端类文件不在Spring的包扫描路径之中,可以在@EnableFeignClients注解中对Feign客户端的包路径进行指定。对外提供服务的HTTP接口定义在MessageController接下来,我们在消费端message-center中为它创建一个Feign客户端。接口的映射地址路径以及接口入参都必须与MessageController中的方法完全相同。并且它们每一个都有自己的名字,应用程序开发人员可以使用@feignclient来给它取名。Spring Cloud按照自己的需要又使用FeignClientsConfiguration为每一个已命名的客户端创建了一个ApplicationContext,额外包含了一个feign.Decoder、一个 feign.Encoder 和一个 feign.Contract。你可以通过指定@FeignClient注解的contextId 属性来设置ApplicationContext的名字。下表列出了 Spring Cloud Netflix 缺省为Feign提供的所有 Bean:
用户评论