我有一个SpringBoot应用程序,使用Camel进行路由。 为了配置jackson xmlMapper,我有以下spring bean:
@Bean
public XmlMapper xmlMapper() {
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.setSerializationInclusion(JsonInclude.Include.NON_EMPTY);
return xmlMapper;
}
我希望Camel在解组收到POJO时使用此映射器如下:
from("direct:myRoute")
.marshal().jacksonxml()
.inOnly("activemq:outputQueue");
但它并没有这样做:在编组的xml中存在空字段。 Camel文档提供使用JacksonXMLDataFormat如下:
JacksonXMLDataFormat format = new JacksonXMLDataFormat();
format.setInclude("NON_NULL");
from("direct:myRoute")
.marshal(format)
.inOnly("activemq:outputQueue");
它可以工作,但每次我编组一些东西时都必须指定dataFormat,并且在解组时会变得更加棘手。
是否有统一的方法来配置Camel的xmlMapper?