我有两个独立的 Java 应用程序,我需要使用 spring-rabbit 通过 RabbitMQ 在它们之间发送消息。在作为生产者的应用程序中,我使用 JsonMessageConverter
作为 RabbitTemplate
的消息转换器,在将 Java 对象发送到队列之前将其转换为 JSON 消息。
在作为消费者的另一个应用程序中,我想将 JSON 消息转换回 Java 对象。我尝试将 SimpleMessageListenerContainer
与自定义 MessageListener
结合使用,我可以从队列中获取 Message
,但我不知道如何转换它们从 JSON 回到 Java 对象。
从 RabbitMQ 异步消费消息时如何使用 JsonMessageConverter
?
最佳答案
我最终使用了带有自定义委托(delegate)对象的 MessageListenerAdapter
和 JsonMessageConverter
作为 MessageConverter
。就像这样:
SimpleMessageListenerContainer listenerContainer = new SimpleMessageListenerContainer();
listenerContainer.setMessageListener(new MessageListenerAdapter(new EventHandler(), new JsonMessageConverter()));
我的EventHandler
类有一个名为handleMessage的方法,它获取传递给它的反序列化JSON对象。
关于java - 如何将 JSON 消息从 RabbitMQ 转换为 Java 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17192000/