【发布时间】:2018-12-25 13:17:46
【问题描述】:
因为我没有足够的声誉来评论关于此问题的其他话题
(How to unmarshall xml using spring integration dsl)
我必须创建一个新主题才能提出我的问题。 我有一个从队列轮询 XML 消息的 JMS,我想将这些消息转换为 Java 对象。 这是我写的代码
@Bean
public IntegrationFlow jmsMessageDrivenRedeliveryFlow() {
return IntegrationFlows
.from(Jms.messageDrivenChannelAdapter(new ActiveMQConnectionFactory("tcp://localhost:61616"))
.errorChannel(IntegrationContextUtils.ERROR_CHANNEL_BEAN_NAME)
.destination("foo.bar").jmsMessageConverter(new MarshallingMessageConverter(jaxbMarshaller())))
.handle(m -> System.out.println(m.getName())).get();
}
@Bean
public Marshaller jaxbMarshaller() {
Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller();
return jaxb2Marshaller;
}
我想从 XML 创建的类是具有以下结构的 Customer 类
@XmlRootElement
public class Customer {
String name;
int age;
int id;
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
@XmlElement
public void setAge(int age) {
this.age = age;
}
public int getId() {
return id;
}
@XmlAttribute
public void setId(int id) {
this.id = id;
}
}
根据其他线程上的答案,我如何配置 Marshaller 以返回 Customer 对象? 提前非常感谢。
【问题讨论】:
标签: spring-integration spring-integration-dsl