栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

与https请求多线程Spring的jpa

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

与https请求多线程Spring的jpa

重写您的代码。而不是

List<Bulk_repository>
返回
Stream<Bulk_repository>
。这将懒惰地从数据库中加载记录,而不是尝试立即执行所有操作。

然后使用

TaskExecutor
来为每个线程执行不同的请求,只给它一个任务,它将在有空闲线程时执行。

@SpringBootApplicationpublic class AccessingDataJpaApplication implements CommandLineRunner {    private static final Logger logger = LoggerFactory.getLogger(AccessingDataJpaApplication.class);    @Autowired    private Bulk_repositoryRepository bulk_repositoryRepository;    @Autowired    private AsyncTaskExecutor executor;    @Autowired    private RestTemplate rest;    public static void main(String[] args) {        SpringApplication.run(AccessingDataJpaApplication.class);    }    @Override    public void run(String... args) throws Exception {        Date currentDate = new Date();        Stream< Bulk_repository> results = Bulk_repository churnss : bulk_repositoryRepository.findAllByStatusAndCampTypeAndCampStartDateLessThanEqualAndCampEndDateGreaterThanEqual(0,2,currentDate,currentDate);        results.forEach(it -> executor.submit(this.process(it)));        Thread.sleep(1000);    }    private void process(RestTemplate rest, Bulk_repository churnss) {      AddOfferRequest AddOffer = new AddOfferRequest("113", churnss.getMsisdn(),churnss.getParam1());      HttpEntity<AddOfferRequest> entity = new HttpEntity<AddOfferRequest>(AddOffer,headers);      try {        ResponseEntity<String> responseEntity = restTemplate.exchange(  "api link", HttpMethod.POST, entity, String.class);         if(responseEntity.getStatusCode() == HttpStatus.OK){String response = responseEntity.getBody();churnss.setStatus(1);churnss.setProcessDate(new Date());churnss.setFulfilment_status(response);bulk_repositoryRepository.save(churnss);         }else {logger.warn("Record Id: {}, Http Failed Response: {}",churnss.getId(), responseEntity.getStatusCode());     }      } catch (RestClientException rce) {          logger.warn("Record Id: {} Http Failed. ", churnss.getId(), rce);      }        }}

注意: 这是从我的头顶输入的,未经测试。但是应该提供一些指导。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/443225.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号