java - 如何将 JSON 消息从 RabbitMQ 转换为 Java 对象?

标签 java json spring rabbitmq spring-rabbit

我有两个独立的 Java 应用程序,我需要使用 spring-rabbit 通过 RabbitMQ 在它们之间发送消息。在作为生产者的应用程序中,我使用 JsonMessageConverter 作为 RabbitTemplate 的消息转换器,在将 Java 对象发送到队列之前将其转换为 JSON 消息。

在作为消费者的另一个应用程序中,我想将 JSON 消息转换回 Java 对象。我尝试将 SimpleMessageListenerContainer 与自定义 MessageListener 结合使用,我可以从队列中获取 Message,但我不知道如何转换它们从 JSON 回到 Java 对象。

从 RabbitMQ 异步消费消息时如何使用 JsonMessageConverter

最佳答案

我最终使用了带有自定义委托(delegate)对象的 MessageListenerAdapterJsonMessageConverter 作为 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/

相关文章:

java - Spring 启动 hibernate : cannot delete child object separately

java - KeyEvent.SHIFT_DOWN_MASK 与 KeyEvent.SHIFT_MASK

javascript - 无法获取 key :value from Json array

ruby-on-rails - Rails Json 响应编码

java - 在webflux中,WebFilter和HandlerFilterFunction有什么区别

java - Caused by : org. hibernate.property.access.spi.PropertyAccessException: 访问字段时出错

java - Hibernate 锁定项目的数组列表

java - 如何强制依赖项包含具有特定版本号的 Artifact

java - RHEL Java 应用程序 - 特定名称而不是通用 java 进程

c# - Javascript JSON仅序列化第一级