【发布时间】:2020-07-14 10:21:30
【问题描述】:
目前,我需要生成大量的小pdf文件(大约18000个pdf文件)
每个生成大约需要 1.x - 2 秒,简单来说,假设它需要 2 秒
所以,18000 * 2 秒 = 36000 秒 = 10 小时 时间太长了
我生成pdf的方式是每次调用FOP java可执行文件生成一个pdf文件,提供xml、xsl(转成FOP xml格式)。
java 的工作方式是,每次我调用 FOP 时,它都会创建一个 java VM 进程(java)来运行它。 我在想这是否会浪费很多时间,因为创建和删除 java vm 进程 18,000 次以生成 18,000 个 pdf 文件。
我对Java VM进程不熟悉,但猜想资源可以被Java VM重用和管理,这样多次重新创建Java VM进程开销不大?
如果重新创建 Java VM 进程的开销很大,那么编写另一个 Java 程序来直接调用 FOP API 函数(而不是调用 FOP 可执行文件)并执行循环还有办法吗?
非常感谢任何建议。
【问题讨论】:
标签: java pdf-generation apache-fop