首页 > 解决方案 > Apache Camel route marshall Java Object to XML

问题描述

I have java object with XML annotations

@XmlRootElement(name = "ROOT")
public class Root {

    @XmlAttribute(name = "ATTR")
    private long site;

    @XmlElement(name = "LIST")
    List<MyObject> transaction;
}

and I have route to folder

from("firstPoint")
                .process(new RootToXMLConvertor())
                .to(FTP_FOLDER)
                .end();

I want to marshall my Root object (I have it in exchange.getIn().getBody()) to XML file and send to FTP_FOLDER.

标签: apache-camelmarshallingcamel-ftp

解决方案


您可以使用 Camel 的 JacksonXML 数据格式

JacksonXMLDataFormat formatPojo = new JacksonXMLDataFormat(Root.class);
from("firstPoint")
                .marshall(formatPojo)
                .to("file..")
                .to(FTP_FOLDER);

为此,您需要camel-jacksonxml、camel-ftp 和camel-file 组件。


推荐阅读