【发布时间】:2020-06-26 02:44:49
【问题描述】:
其实我是用 Spring AMQP 从 Rabbit 消费 XML。
这是我的监听队列代码。
@RabbitListener(queues = DealerReceiverConfig.P8_QUEUE_NAME, id = Constants.P8_QUEUE_ID)
@SendTo("foo.bar")
public RequestDocument p8ContentReceiveMessage(RequestDocument request) {
System.out.println(request.getCorrelationId());
return request;
}
而我的兔子模板配置是:
@Override
@Bean(name = "dealerRabbit")
public RabbitTemplate rabbitTemplateSeguros(ConnectionFactory connectionFactory) {
RabbitTemplate template = new RabbitTemplate(connectionFactory);
template.setMessageConverter(producerMessageConverter());
return template;
}
@Override
@Bean
public MessageConverter producerMessageConverter() {
ContentTypeDelegatingMessageConverter messageConverter = new ContentTypeDelegatingMessageConverter();
Jackson2JsonMessageConverter jsonMessageConverter = new Jackson2JsonMessageConverter();
messageConverter.addDelegate("application/json", jsonMessageConverter);
MarshallingMessageConverter marshaller = new MarshallingMessageConverter();
marshaller.setMarshaller(oxmMarshaller());
marshaller.setUnmarshaller(oxmUnMarshaller());
messageConverter.addDelegate("application/xml", marshaller);
return messageConverter;
}
@Bean
public Marshaller oxmMarshaller() {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setPackagesToScan("foo.bar.model");
return marshaller;
}
@Bean
public Unmarshaller oxmUnMarshaller() {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setPackagesToScan("foo.bar.model");
return marshaller;
}
问题是当我在配置的@SentTo 队列中看到返回的消息时,我收到以下消息。
有什么建议吗?
感谢您的帮助。
【问题讨论】:
标签: java spring spring-boot rabbitmq spring-amqp