package com.gyee.impala.common.feign; import com.gyee.impala.common.config.GyeeConfig; import feign.Feign; import feign.Request; import feign.Retryer; import feign.jackson.JacksonDecoder; import feign.jackson.JacksonEncoder; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; @Slf4j @Component public class RemoteServiceBuilder { @Autowired private GyeeConfig config; @Bean public IAdapterService adapter() { return Feign.builder() .encoder(new JacksonEncoder()) .decoder(new JacksonDecoder()) .options(new Request.Options(5000, 600000)) .retryer(new Retryer.Default(10000, 10000, 3)) .target(IAdapterService.class, config.getGoldenUrl()); } @Bean public IShardingService sharding() { return Feign.builder() .encoder(new JacksonEncoder()) .decoder(new JacksonDecoder()) .options(new Request.Options(5000, 600000)) .retryer(new Retryer.Default(10000, 10000, 3)) .target(IShardingService.class, config.getAlertUrl()); } @Bean public IHostService hostparam() { return Feign.builder() .encoder(new JacksonEncoder()) .decoder(new JacksonDecoder()) .options(new Request.Options(5000, 600000)) .retryer(new Retryer.Default(10000, 10000, 3)) .target(IHostService.class, config.getHostUrl()); } }