在注册中心对FeignClient进行配置:
@EnableTransactionManagement
@SpringBootApplication
@EnableDiscoveryClient
@ComponentScan(basePackages = "com.XXXX")
@EnableScheduling
@EnableFeignClients
public class CmbsTaskApplication extends BaseApplication {
/**
*<restTemplate>.
*<装配一个全局单例RestTemplate Spring Bean用于负载均衡远程调用>
* @return [返回类型说明]
* @exception/throws [违例类型] [违例说明]
* @author jianghao
*/
@Bean("cmbsTaskRestTemplate")
@LoadBalanced
public RestTemplate cmbsTaskRestTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(CmbsTaskApplication.class, args);
}
}
在使用中,可以在多个微服中找到想要的服务:
@FeignClient(name = "rainbow-stone-video", fallbackFactory = RainbowStoneVideoFallback.class, configuration = TSGAbilitityPlatformConfig.class)
public interface RainbowStoneVideoFeignClient {
/**
* <MM订购续订接口>
*
* @param request
* @return [返回回调结果]
* @author zhengzm
*/
@RequestMapping(value = "/video/inner/mmSubscribe", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, method = RequestMethod.POST)
String mmSubscribe(@RequestBody MmOutSubscribeReq request);
}