[英]How do I convert a JSON message from RabbitMQ to a Java object?
I have two separate Java apps which I need to send messages between via RabbitMQ using spring-rabbit. 我有两个单独的Java应用程序,需要使用spring-rabbit在RabbitMQ之间发送消息。 In the app which is the producer I am using
JsonMessageConverter
as the message converter for my RabbitTemplate
to convert my Java objects to JSON messages before they get sent to the queue. 在作为生产者的应用程序中,我使用
JsonMessageConverter
作为JsonMessageConverter
的消息转换器, RabbitTemplate
在将Java对象发送到队列之前将Java对象转换为JSON消息。
In the other app which is the consumer I want to convert the JSON messages back to Java objects. 在另一个使用方的应用程序中,我想将JSON消息转换回Java对象。 I have tried using
SimpleMessageListenerContainer
with a custom MessageListener
and I can get the Message
s from the queue, but I don't know to convert them from JSON back to Java objects. 我尝试将
SimpleMessageListenerContainer
与自定义MessageListener
使用,并且可以从队列中获取Message
,但是我不知道将其从JSON转换回Java对象。
How do I use JsonMessageConverter
when consuming messages asynchronously from RabbitMQ? 从RabbitMQ异步使用
JsonMessageConverter
时,如何使用JsonMessageConverter
?
I ended up using a MessageListenerAdapter
with a custom delegate object and JsonMessageConverter
as the MessageConverter
. 我最终使用了带有自定义委托对象的
MessageListenerAdapter
,并将JsonMessageConverter
作为MessageConverter
。 Like so: 像这样:
SimpleMessageListenerContainer listenerContainer = new SimpleMessageListenerContainer();
listenerContainer.setMessageListener(new MessageListenerAdapter(new EventHandler(), new JsonMessageConverter()));
My EventHandler
class has a single method called handleMessage which gets the deserialized JSON object passed to it. 我的
EventHandler
类有一个称为handleMessage的方法,该方法获取传递给它的反序列化JSON对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.