To make REST use my own ObjectMapper, I try below but it doesn't work.
Anyone have an example that does?

  <bean id="objectMapper" class="my.ObjectMapper">
  </bean>

  <camelContext id="rest" xmlns="http://camel.apache.org/schema/blueprint";>

    <dataFormats>
      <json id="json" library="Jackson" objectMapper="objectMapper" />
    </dataFormats>

    <restConfiguration component="servlet" bindingMode="json" >
    ....

Thanks for a hint.

On 01.11.2017 22:21, Martin Lichtin wrote:
I'm running into a jackson.databind.JsonMappingException: Infinite recursion 
(StackOverflowError)
with a REST route that uses bindingMode="json" to marshal/unmarshal. It loops 
like:

    ...
    at 
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:689)
    at 
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
    at 
com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:633)
    at 
com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:536)
    at 
com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:30)
    at 
com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:704)
    at 
com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:689)
    at 
com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
    ...
    (not seeing full stack unfortunately)

What's strange is that outside of Camel, I can use a Jackson ObjectWriter just 
fine to serialize the same object.

So - wanted to ask for pointers where and how Camel (2.18.5) creates and 
configures its ObjectWriter
that is used in RestConsumerBindingMarshalOnCompletion?

- Martin

Reply via email to