Dear Camel team,

We have a question about the JacksonDataFormat in Camel 2.25. In 
JacksonDataFormat class doStart() method, it looks for the single ObjectMapper 
in the registry. If found, the single ObjectMapper instance would be used and 
be applied with properties in the JacksonDataFormat instance.

This behavior creates a couple of problems:

  1.  If Camel is used with Spring boot, spring boot would auto config a 
ObjectMapper with Spring boot namespace properties. By default, Camel 
JacksonDataFormat would use it and override the Spring boot configuration with 
Camel's properties.
  2.  If Camel has multiple steps of "marshal" or "unmarshal" in the routes and 
they have confliting settings, the last "marshal" or "unmarshal" step setting 
would take precedence.

I believe those are unexpected behaviors. The question is why JacksonDataFormat 
does not make a copy of the single ObjectMapper in the registry. In that way, 
each of them are configured independently.

Thanks
Yifan

Reply via email to