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;
}
}
spring boot项目配置RestTemplate超时时长的更多相关文章
- Spring Boot 日志配置方法(超详细)
默认日志 Logback : 默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台.在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了. 从上图 ...
- Spring Boot项目配置RabbitMQ集群
//具体参看了配置的源码 org.springframework.boot.autoconfigure.amqp.RabbitProperties //RabbitMQ单机 spring: rab ...
- Spring Boot 项目配置的使用方法
第一种写法resources目录下的application.properties文件 第二种写法resources目录下的application.yml文件 在项目中获取配置项: 分组配置: (配置 ...
- spring boot项目配置跨域
1.在项目启动入口类实现 WebMvcConfigurer 接口: @SpringBootApplication public class Application implements WebMvcC ...
- spring boot 项目配置字符编码
- Docker 部署Spring Boot 项目并连接mysql、redis容器(记录过程)
Spring Boot 项目配置 将写好的Spring Boot 项目通过maven 进行package打包获得可执行Jar 再src/main/docker(放哪都行)下编写创建Dockerfile ...
- Spring Boot(IDEA,Gradle)超详细用户管理项目(一)——Hello World
1.构建工具的配置(Gradle):自定义-所有设置:构建.执行.部署-构建工具-Gradle: 设置Gradle用户主目录:(该目录相当于仓库,gradle将下载所需依赖到此目录下),此目录下可新建 ...
- Spring boot项目maven的profile多环境配置不自动替换变量的问题解决
Spring boot项目maven的profile多环境配置不自动替换变量的问题解决 在网上找了好久,配置都很简单,可是我的程序就是不能自动替换变量,最终单独测试,发现原来是引用spring b ...
- 让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean
让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean 问题描述 实现思路 思路一 [不符合要求] 思路二[满足要求] 思路三[未试验] 问题描述 目前我工作环境下,后端主要的框架 ...
随机推荐
- 【读书笔记】iOS-网络-HTTP-URL百分号编码
代码: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ty ...
- 微信小程序获取Access_token和页面URL生成小程序码或二维码
1.微信小程序获取Access_token: access_token具体时效看官方文档. using System; using System.Collections.Generic; using ...
- SSM 实训笔记 -11- 使用 Spring MVC + JDBC Template 实现筛选、检索功能(maven)
SSM 实训笔记 -11- 使用 Spring MVC + JDBC Template 实现筛选.检索功能(maven) 本篇是新建的一个数据库,新建的一个完整项目. 本篇内容: (1)使用 Spri ...
- Paxos协议笔记
对Paxos协议的介绍,可以通过Leslie Lamport的<Paxos Made Simple>展开学习和了解.Paxos算法在允许失败的分布式系统环境下,实现系统一致性.失败的情况有 ...
- Ionic模版的使用
Hybird HTML5 App(移动应用开发)之4.Ionic模版的使用 在Windows系统下使Ionic模版,可以使用之前安装的Git工具中的Git Bash.在Mac系统中可以直接使用系统自带 ...
- Android应用耗电量统计,无需USB连接
Android应用耗电量统计一直是一个很头疼的问题,手工统计耗时太长,自动化统计又不是非常精准(执行自动化代码需要通过USB连接,而USB又会充电,这就造成统计数据不准).后来从前辈那里得知可以通过a ...
- Azure 门户中基于角色的访问控制入门
面向安全的公司应侧重于向员工提供他们所需的确切权限. 权限过多,可能会向攻击者公开帐户. 权限太少意味着员工无法有效地完成其工作. Azure 基于角色的访问控制 (RBAC) 可通过为 Azure ...
- Oracle EBS 新增 OAFM 个数
在 $INST_TOP/ora/10.1.3/opmn/conf/opmn.xml中 找到 <process-type id="oafm" module-id="O ...
- iOS 固定定位不兼容、input获取焦点后位置不对。
第一次写博客~ 大家悠着看,有则改之,无则加冕,对不对的给个回复,让我知道你的存在. 在做活动页的时候,经常会碰到一些需要弹出显示的输入框(情节前提:本人安卓机~),前天自己写的时候自己调试没问题后 ...
- 极限编程核心价值:反馈(Feedback)
原文:https://deviq.com/feedback 极限编程核心价值:简单(Simplicity) 极限编程核心价值:沟通(Communication) 极限编程核心价值:反馈(Feedbac ...