【发布时间】:2015-07-23 15:34:56
【问题描述】:
所以最终我需要在 UNIX 服务器上的磁盘上编写大量 PDF(40,000 个),并且我正在尝试找出一种有效地执行此操作的方法(更快/消耗更少的内存)。
我一直在使用 JasperReports 创建一个模板,该模板接收作为参数(意味着报告没有进入数据库)报告所需的所有信息。
然后我有一个简单的 Java 应用程序,它可以查询数据库并带来数据集,并为每条记录填充 .jasper 并将 PDF 写入磁盘。
现在这适用于几百条记录,但我认为它不适用于数量扩展到 40.000 条记录并且该过程的输出将是相同数量的 PDF 文件的生产。做一些测试,我估计这个过程至少需要 3 个小时,而且我也开始担心内存消耗。
所以我想知道是否有一种有效的方法可以做到这一点:
- 我应该为此进程使用并行性/多线程吗?
- 谁能给我指点这类工作的已知模式/示例?
感谢您的宝贵时间
【问题讨论】:
-
你说“更快/更少的内存”。通常很难同时实现两者。另外,请参阅how to ask a good question 上的指南
-
一个注释,多线程!= 更快
标签: java unix jasper-reports