feign客户端设置超时时间

/**
 * feign调用客户端
 */
@FeignClient(name = "user", url = "${user.url}", configuration = MyFeignDecoder.class)
public interface UserClient {
	@GetMapping("/rest/user/get/detail/{loginName}")
    JSONObject getUserInfoByLoginName(@PathVariable(value = "loginName") String loginName);
}
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.context.annotation.Scope;

import com.iflytek.icourt.exception.UnloginErrorException;
import com.iflytek.icourt.secretary.constant.Constant;
import com.netflix.hystrix.exception.HystrixBadRequestException;

import feign.Request;
import feign.Response;
import feign.codec.Encoder;
import feign.jackson.JacksonEncoder;

/**
 * feign配置类
 */
@Configuration
public class MyFeignDecoder implements feign.codec.ErrorDecoder{
    public static Logger logger = LoggerFactory
            .getLogger(MyFeignDecoder.class);
    @Override
    public Exception decode(String methodKey, Response response) {
        logger.info("status:-------" + response.status());
        return feign.FeignException.errorStatus(methodKey, response);
    }
    
    
    @Bean
    @Primary
    @Scope("prototype")
    public Encoder jacksonEncoder () {
        return new JacksonEncoder();
    }
    
    @Bean
    Request.Options feignOptions() {
        return new Request.Options(2 * 1000, 120 * 1000);
    }
}

猜你喜欢

转载自blog.csdn.net/xqnode/article/details/89847687
今日推荐