当前位置: 移动技术网 > IT编程>软件设计>架构 > spring boot项目配置RestTemplate超时时长

spring boot项目配置RestTemplate超时时长

2019年04月23日  | 移动技术网IT编程  | 我要评论

配置类:

@configuration
public class feignconfiguration {
    @bean(name="remoteresttemplate")
    public  resttemplate resttemplate(){
        simpleclienthttprequestfactory requestfactory = new simpleclienthttprequestfactory();
        requestfactory.setconnecttimeout(5000);
        requestfactory.setreadtimeout(3500);
        resttemplate resttemplate = new resttemplate(requestfactory);
        return resttemplate;
    }
}

调用:

@service
@slf4j
public class slcustomercreditsettingproductserviceimpl implements slcustomercreditsettingproductservice {
    @autowired
    private slcustomercreditsettingproductfeignclient slcustomercreditsettingproductfeignclient;
    @autowired
    @qualifier(value = "remoteresttemplate")
    private resttemplate resttemplate;
    @value("${crb_hub_url}")
    private string crbhuburl;
    @autowired
    private mqserverservice mqserverservice;

    @override
    public list<slcustomercreditsettingproductrespvo> getcustomercreditsettingproductrespvo(userinfo userinfo) throws openhttpexection{
        slcustomercreditsettingproductqueryvo slcustomercreditsettingproductqueryvo = new slcustomercreditsettingproductqueryvo();
        slcustomercreditsettingproductqueryvo.setcorporationid(userinfo.getcorporationid());
        slcustomercreditsettingproductqueryvo.setcustomerid(userinfo.getcustomerid());
        slcustomercreditsettingproductqueryvo.seteffectiveenddate(userinfo.getmakedate());
        slcustomercreditsettingproductqueryvo.setmakedate(userinfo.getmakedate());
        slcustomercreditsettingproductqueryvo.setregioncode(userinfo.getregioncode());
        list<slcustomercreditsettingproductrespvo> slcustomercreditsettingproductrespvos = lists.newarraylist();

        parameterizedtypereference<list<customercreditsettingproduct>> typeref = new parameterizedtypereference<list<customercreditsettingproduct>>() {};
        responseentity<list<customercreditsettingproduct>> customercreditsettingproductrespvos;
        //post调用外部接口
        try {
            customercreditsettingproductrespvos = resttemplate.exchange(
            crbhuburl+"/customercreditsettingproductapicontroller/findbycustomeridandcorporationid",
            httpmethod.post,
            new httpentity<>(slcustomercreditsettingproductqueryvo),
            typeref);
        }catch (exception e){
            throw new openhttpexection(e.getmessage());
        }
        if(collectionutils.isnotempty(customercreditsettingproductrespvos.getbody())) {
            for (customercreditsettingproduct o : customercreditsettingproductrespvos.getbody()) {
                slcustomercreditsettingproductrespvo slcustomercreditsettingproductrespvo = new slcustomercreditsettingproductrespvo();
                beanutils.copyproperties(o, slcustomercreditsettingproductrespvo);
                slcustomercreditsettingproductrespvos.add(slcustomercreditsettingproductrespvo);
            }
            //mq发送数据
            synslcustomercreditsettingproduct synslcustomercreditsettingproduct = new synslcustomercreditsettingproduct();
            synslcustomercreditsettingproduct.setcustomercreditsettingproducts(customercreditsettingproductrespvos.getbody());
            synslcustomercreditsettingproduct.setslcustomercreditsettingproductqueryvo(slcustomercreditsettingproductqueryvo);
            try {
                mqserverservice.sendloopcedit(synslcustomercreditsettingproduct);
            }catch (exception e){
                e.printstacktrace();
                log.error("同步客户信用体系设定数据到本地数据库失败!");
            }
        }
        return slcustomercreditsettingproductrespvos;
    }
}

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网