【发布时间】:2013-03-17 21:08:30
【问题描述】:
我正在使用 docx4j 2.8.1 替换 word 文件中的文本和徽标。现在我想提高性能,因为大约 50 个文档的处理速度很慢。建议使用哪些选项来提高 docx4j 的性能?
替换字符串(不是徽标)的代码如下所示:
String xml = XmlUtils.marshaltoString(documentPart.getJaxbElement(), true);
HashMap<String, String> mappings = buildReplaceMap(userData);
Object obj = XmlUtils.unmarshallFromTemplate(xml, mappings);
documentPart.setJaxbElement(obj);
【问题讨论】:
-
我假设您正在通过单个 JVM 实例处理 50 个文档(因此您只会导致一次 JAXB 上下文初始化延迟)?
-
是的。我观察到,如果文档是同时生成的,每个文档都在自己的线程中,则该过程所花费的时间甚至比文档一个接一个地生成的时间还要长。