zoukankan      html  css  js  c++  java
  • spring boot项目配置RestTemplate超时时长

    配置类:

    @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;
        }
    }
  • 相关阅读:
    分享一下我珍藏的各种资料。
    JEditorPane中html文档中文乱码解决
    ubuntu恢复rm -rf误删文件
    MBR与分区表备份与恢复
    ubuntu tab命令补全失效
    selinux理解1-selinux介绍
    Mac-Xcode统计整个项目代码行数
    Mac清理空间-Xcode-删除相关文件
    # iOS开发
    Charles问题总结-最新版4.5.6
  • 原文地址:https://www.cnblogs.com/kangchen/p/10750152.html
Copyright © 2011-2022 走看看