我编写了一个自定义转换器,我想将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。请让我知道我哪里出错了。
答案 0 :(得分:0)
我的坏。我使用的是jaxson
jar的旧版本。 spring文档提到jaxson
jar应该高于版本2.0
。