我是Apache骆驼的新手,需要执行一项需要将对象封送至XML文件的任务。我正在使用以下代码,但无法正常工作。在这里,foo.pojo
是存在JAXB注释类的程序包
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat("foo.pojo");
from("direct:start").marshal(jaxbDataFormat).to("file:C:/Users/Anand.Jain/Desktop/hello/abc.xml").end();
选项1:配置上下文路径
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat("foo.pojo");
[OptionFactory
或jaxb.index
文件必须在给定的程序包中定义,如here所述。
选项2:配置要绑定的类
JAXBContext jaxbContext = JAXBContext.newInstance(MyAnnotatedClass.class);
JaxbDataFormat jaxbDataFormat = new JaxbDataFormat(jaxbContext);
我更喜欢选项2。
选项1最近无法使用,因为JaxbDataFormat(String)构造函数不可用as you can see in official javadoc
关于这一点,文档似乎已过时。
编辑:请注意,有两个JaxbDataFormat
我了解:骆驼生态系统中有两个jaxbDataFormat