我有以下代码来执行从一个 JAXB 注释对象到另一个 JAXB 注释对象的 XSLT 转换。在这种情况下,性能真的很差吗?它将 JAXB 对象编码为 XML,将其转换为另一个 XML 并解码,还是这里有更好的技巧?
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer(new StreamSource(mapping.getInputStream()));
JAXBResult result = new JAXBResult(JaxbUtils.getJAXBContext(CalypsoUploadDocument.class));
transformer.transform(new JAXBSource(JaxbUtils.getJAXBContext(CalypsoUploadDocument.class), uploadMessage),result);
return result.getResult();
最佳答案
如果使用 Java 6(我的生产经验基于 Oracle JDK),这是我们也采用过的有效方法。性能相当不错。一个小的改进是使用模板实例。
另一方面,如果您的应用程序有一个或只有几个转换并且转换本身不会随时间改变,我不推荐这种方法。然后直接方法要快得多(java 实例 -> java 映射 -> java 实例)
关于java - JAXB 和 XSLT 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13606872/