spring integration自定义变换器返回null值

时间:2016-07-21 05:15:18

标签: spring spring-integration

我编写了一个自定义转换器,我想将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。请让我知道我哪里出错了。

1 个答案:

答案 0 :(得分:0)

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