title: Jackson unrecognized field exception but field is in JSON
body: <p>I am using Spring Integration to consume a message with a JSON Payload.</p>
  
  <p>In my spring context I have</p>
  
  <pre><code>&lt;integration:channel id="jsonToMyMessageConverterChannel"/&gt;
  &lt;integration:json-to-object-transformer 
      type="com.acme.messaging.message.MyMessage"
      input-channel="jsonToMyMessageConverterChannel"
      output-channel="myMessageUpdateChannel"/&gt;
  </code></pre>
  
  <p>My message related objects are:</p>
  
  <p>MyMessage.java</p>
  
  <pre><code>@JsonIgnoreProperties(ignoreUnknown=true)
  public class MyMessage {
  
      @JsonProperty
      private String timestamp;
  
      @JsonProperty("msgs")
      private List&lt;Message&gt; messages;
  
      // Getters and Setters...
  }
  </code></pre>
  
  <p>Message.java</p>
  
  <pre><code>@JsonIgnoreProperties(ignoreUnknown=true)
  public class Message {
  
      @JsonProperty
      private Integer msgId;
  
      @JsonProperty("msgText")
      private String text;
  
      // Getters and Setters...
  }
  </code></pre>
  
  <p>When the json transformer attempts to convert the message to an object it fails with</p>
  
  <pre><code>Caused by: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "msgs" (Class com.acme.messaging.message.MyMessage), not marked as ignorable
  </code></pre>
  
  <p>The JSON payload definitely has <code>msgs</code> which is an array that has objects which represent the <code>Message.java</code> class.</p>
  
  <p>Can any one suggest reasons why the exception occurs given that the JSON has the field that is being complained about and the class itself is also annotated to ignore unknown fields?</p>
  
  <p><em>Update</em>
  After some debugging it looks like the <code>@JsonProperty("msgs")</code> annotations aren't being use, for some reason.</p>