当前位置: 首页 > news >正文

如何建设正规彩票网站织梦如何做汽车贸易网站

如何建设正规彩票网站,织梦如何做汽车贸易网站,深圳装修公司口碑排名,青岛圭谷网站建设公司问题情境: 项目中存在web页面点击一键导出,导出所有数据对应的pdf文件,由于有些pdf文件是实时生成的,之前最简答的写法for循环处理速度太慢,超过了nginx配置的最大响应时间了,且对用户交互体验上很不友好&…

问题情境:

项目中存在web页面点击一键导出,导出所有数据对应的pdf文件,由于有些pdf文件是实时生成的,之前最简答的写法for循环处理速度太慢,超过了nginx配置的最大响应时间了,且对用户交互体验上很不友好,所以进一步进行优化。

解决方案:

1.对大量的数据进行分段处理;(向上取余)
代码示例:

public List<List<FrApplyGuaranteeInfo>> segmentList(List<FrApplyGuaranteeInfo> list ,int segmentSize) {int limit = (list.size() + segmentSize - 1) / segmentSize;List<List<FrApplyGuaranteeInfo>> segmentList =Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> list.stream().skip(a * segmentSize).limit(segmentSize).parallel().collect(Collectors.toList())).collect(Collectors.toList());return segmentList;}

2.通过threadPoolTaskExcetor.submit()方法进行多线程任务处理
示例代码:
第一步分段处理后的list

lists.forEach({list->{threadPoolExecutor.submit(new xxxxTask());
})

第二步:具体的task需要实现callalbe
示例代码如下:

@Slf4j
public class DownloadLetterZipTask implements Callable {// 需要预审的记录    private List<FrApplyGuaranteeInfo> dataList;private ZipOutputStream zipOutputStream;private CountDownLatch countDownLatch;private IFrApplyGuaranteeInfoService applyGuaranteeInfoService;public DownloadLetterZipTask(List<FrApplyGuaranteeInfo> dataList, ZipOutputStream zipOutputStream, CountDownLatch countDownLatch, IFrApplyGuaranteeInfoService applyGuaranteeInfoService){    this.dataList = dataList;this.zipOutputStream = zipOutputStream;      this.countDownLatch = countDownLatch;      this.applyGuaranteeInfoService = applyGuaranteeInfoService;    }@Overridepublic Object call() throws Exception {log.info("start--------------" + Thread.currentThread().getName());        try {           for (FrApplyGuaranteeInfo applyGuaranteeInfo : dataList) {if (!StringUtils.isEmpty(applyGuaranteeInfo.getAcceptNo())) {try {// 这一步为具体的将文件转为字节数组输出流ByteArrayOutputStream waterOutputStream = applyGuaranteeInfoService.getLetterPdfByteStream(applyGuaranteeInfo.getAcceptNo());byte[] xmpMetadata = waterOutputStream.toByteArray();synchronized (zipOutputStream) {zipOutputStream.putNextEntry(new ZipEntry(applyGuaranteeInfo.getGenerateeLetterNo() + ".pdf"));zipOutputStream.write(xmpMetadata);zipOutputStream.closeEntry();}} catch (Exception e) {log.error("[一键导出]---acceptNo为{}生成pdf失败", applyGuaranteeInfo.getAcceptNo());}}}} catch (Exception e) {e.printStackTrace();log.error("[xxxx]-批量下载zip失败");} finally {countDownLatch.countDown();}return null;}}
http://www.yayakq.cn/news/185862/

相关文章:

  • 辽宁省城乡和建设厅网站广告公司名字大全免费
  • 网站管理 设置开启网站公共模板是什么意思
  • 安徽服装网站建设目前最好的营销模式
  • 找做网站的网站架构策划
  • 网站建设的同义词移动开发网
  • 网店网站建设规划方案做网站主要用哪种语言
  • 西安国内做网站的公司有哪些邯郸网站设计注册
  • 南宁网站建站推广wordpress加速网站插件
  • 网站建设培训报名wordpress 主题猫
  • 2014做网站wordpress 入门主题
  • 齐河县建设局网站深圳跑网约车怎么样
  • 2013年建设工程发布网站平昌县住房和城乡建设局网站
  • 哲学专业特色建设网站wordpress 主题制件
  • 制作网站备案幕布微博官网入口
  • 宿迁新站seo益阳市城乡和住房建设部网站
  • wordpress genesis合肥网站优化步骤
  • 企业网站设计有哪些新功能微小店网站建设多少钱
  • 如何做网站程序wordpress启用域名邮
  • 宁波网站开发制作成都建设网站首页
  • 上海企业网站建设费用平面设计素材网站排名
  • 魔立方 网站建设会员卡营销策划方案
  • 建设公寓租房信息网站wordpress怎么搜索代码
  • app与网站数据交互顺企网企业查询
  • 网站实名审核中心社区微网站建设方案ppt模板
  • 网页制作与网站设计部门网站建设工作总结
  • 优购物官方网站地址政务信息网站建设制度
  • 网站推广目标企业策划案例
  • 网站外链建设策略做数学题好的网站
  • 太原网站建设鸣蝉在平台企业网站推广怎么做
  • 网站优化师新的数据新闻