配置类:

@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;
}
}

spring boot项目配置RestTemplate超时时长的更多相关文章

  1. Spring Boot 日志配置方法(超详细)

    默认日志 Logback : 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了. 从上图 ...

  2. Spring Boot项目配置RabbitMQ集群

    //具体参看了配置的源码 org.springframework.boot.autoconfigure.amqp.RabbitProperties //RabbitMQ单机 spring:   rab ...

  3. Spring Boot 项目配置的使用方法

    第一种写法resources目录下的application.properties文件 第二种写法resources目录下的application.yml文件 在项目中获取配置项: 分组配置:  (配置 ...

  4. spring boot项目配置跨域

    1.在项目启动入口类实现 WebMvcConfigurer 接口: @SpringBootApplication public class Application implements WebMvcC ...

  5. spring boot 项目配置字符编码

  6. Docker 部署Spring Boot 项目并连接mysql、redis容器(记录过程)

    Spring Boot 项目配置 将写好的Spring Boot 项目通过maven 进行package打包获得可执行Jar 再src/main/docker(放哪都行)下编写创建Dockerfile ...

  7. Spring Boot(IDEA,Gradle)超详细用户管理项目(一)——Hello World

    1.构建工具的配置(Gradle):自定义-所有设置:构建.执行.部署-构建工具-Gradle: 设置Gradle用户主目录:(该目录相当于仓库,gradle将下载所需依赖到此目录下),此目录下可新建 ...

  8. Spring boot项目maven的profile多环境配置不自动替换变量的问题解决

    Spring boot项目maven的profile多环境配置不自动替换变量的问题解决   在网上找了好久,配置都很简单,可是我的程序就是不能自动替换变量,最终单独测试,发现原来是引用spring b ...

  9. 让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean

    让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean 问题描述 实现思路 思路一 [不符合要求] 思路二[满足要求] 思路三[未试验] 问题描述 目前我工作环境下,后端主要的框架 ...

随机推荐

  1. 关于子元素的margin-top溢出和元素浮动对父元素高度影响解决方案

    以下是个人学习笔记,仅供学习参考. 1.关于子元素的margin-top作用在无margin-top-border的父元素上导致子元素的margin-top溢出问题. 在给没有margin-top-b ...

  2. JavaScript基础知识之 每日一题(网上搜罗来滴)

    1.返回什么类型 (function(){return typeof arguments;})(); 答案是:object 参考:https://developer.mozilla.org/en-US ...

  3. sass在vue注意的地方

    当用@import导入vue页面的时候,在sass/scss文件里面的url,路径开始就是导入的vue位置. 当前目录结构 App.vue 我在App.vue导入了public.scss,那在publ ...

  4. 纯小白入手 vue3.0 CLI - 2.5 - 了解组件的三维

    vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...

  5. FineReport连接多维数据库示例及操作

    1. 描述 FineReport连接多维数据库,首先要通过数据连接将多维数据库与FineReport连接起来,然后在数据连接的基础上新建多维数据库XMLA数据集,用于模板设计. 2.XMLA数据连接 ...

  6. cordova app强制横屏

    非常简单,只需要在config.xml里加上这行: <preference name="Orientation" value="landscape" /& ...

  7. ubuntu 搭建samba共享方案

    1.samba服务安装搭建 sudo apt-get install samba sudo vim /etc/samba/smb.conf workgroup = szsoft 设置用户密码登陆方式s ...

  8. CentOS7安装mysql后无法启动服务,提示Unit not found

    首发日期: 2018-01-30 现象: 在centOS7中启动MySQL数据库提示: Failed to start mysqld.service: Unit not found [明明已经安装了, ...

  9. webpack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  10. Paxos协议笔记

    对Paxos协议的介绍,可以通过Leslie Lamport的<Paxos Made Simple>展开学习和了解.Paxos算法在允许失败的分布式系统环境下,实现系统一致性.失败的情况有 ...