如何配置Camel的jackson XmlMapper?

时间:2017-08-03 17:18:26

标签: java spring-boot jackson apache-camel

我有一个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?

0 个答案:

没有答案