在注冊中心對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);
}