首页 > 解决方案 > Spring AMQP XML 消息转换器

问题描述

我正在尝试使用 spring-amqp 从 RabbitMQ 读取消息并将其转换为我的域对象。

Jackson2JsonMessageConverter我已成功将其配置为接收 json 消息并使用该类将其映射到我的域对象。

现在,我正在尝试使用ContentTypeDelegatingMessageConverter并添加接收 XML(除了 JSON)的能力。

但是,不幸的是,我很难找到处理 XML 的内置消息转换器或有关如何配置其中一个内置转换器来处理 XML 的文档。

关于如何使用 spring-amqp 处理 XML 的文档似乎很少。所以,我很欣赏下面添加到我的代码示例(请参阅TODO):

@Bean
MessageConverter messageConverter() {
  ContentTypeDelegatingMessageConverter messageConverter = new ContentTypeDelegatingMessageConverter();

  Jackson2JsonMessageConverter jsonMessageConverter = new Jackson2JsonMessageConverter();
  messageConverter.addDelegate("application/json", jsonMessageConverter);

  // TODO: messageConverter.addDelegate("application/xml", xxx);

  return messageConverter;
}

谢谢!!

标签: spring-amqp

解决方案


使用配置了 Spring OXM 编组器/解组器的MarshallingMessageConverter -有关使用多种不同技术的各种编组器/解组器的信息,请参阅Spring Framework OXM 文档。


推荐阅读