我已经编写了一个自定义转换器,我想将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文档提到jaxson
jar的版本应该高于2.0
。