spring集成自定义转换器返回空值



我已经编写了一个自定义转换器,我想将json消息转换为java。

<int:transformer ref="myCustomTransformer" input-channel="myInputChannel" output-channel="outputMsgChannel"/>

变压器代码:

@Component ("myCustomTransformer")

公共类MyCustomTransformer{

@Transformer
public Message<Staff> converToObj(Message<String> message){
     return MessageBuilder.withPayload(new Staff()).copyHeaders(message.getHeaders()).build();      
  }
}

我的Staff类:

public class Staff {
@JsonProperty("name")   
String name;
@JsonProperty("age")    
String age;
@JsonProperty("status") 
String status;
// setters and getters

在我的service-activator类中:

  public void handleUser(Staff obj) {
    System.out.println(obj instanceof Staff); // returns true
    System.out.println("Handling the response message from the jms");
    System.out.println(obj.getName());
    System.out.println(obj.getStatus());
    System.out.println(obj.getAge());
}

服务激活器显示对象的类型为staff,但所有实例变量都为null。请告诉我哪里出了问题。

我的坏。我使用的是旧版本的jaxson jar。spring文档提到jaxsonjar的版本应该高于2.0

最新更新