Я использую docx4j 2.8.1 для замены текстов и логотипа в файлах слов. Теперь я хочу улучшить производительность, так как обработка около 50 документов выполняется довольно медленно. Какие варианты рекомендуются для повышения производительности docx4j?Оптимизация производительности docx4j
Код для замены строки (не логотип) выглядит следующим образом:
String xml = XmlUtils.marshaltoString(documentPart.getJaxbElement(), true);
HashMap<String, String> mappings = buildReplaceMap(userData);
Object obj = XmlUtils.unmarshallFromTemplate(xml, mappings);
documentPart.setJaxbElement(obj);
Я предполагаю, что вы обрабатываете 50 документов через один экземпляр JVM (так что вы только однажды задерживаете инициализацию JAXB)? – JasonPlutext
Да. Я заметил, что если документы генерируются одновременно, каждый в своем потоке, процедура занимает больше времени, чем если документы генерируются один за другим. – bertolami