2013-06-19 1 views
0

У меня есть два отдельных Java-приложения, которые мне нужно отправлять сообщения через RabbitMQ с использованием весеннего кролика. В приложении, которое является продюсером, я использую JsonMessageConverter в качестве конвертера сообщений для моего RabbitTemplate для преобразования моих объектов Java в сообщения JSON до их отправки в очередь.Как преобразовать сообщение JSON из RabbitMQ в объект Java?

В другом приложении, которое является потребителем, я хочу преобразовать сообщения JSON обратно в объекты Java. Я пробовал использовать SimpleMessageListenerContainer с пользовательским MessageListener, и я могу получить Message s из очереди, но я не знаю, чтобы преобразовать их из JSON обратно в объекты Java.

Как использовать JsonMessageConverter при асинхронном использовании сообщений от RabbitMQ?

+0

Можете ли вы показать, как вы используете 'JsonMessageConverter' в производителе и как вы получаете сообщения в потребителе? –

ответ

5

В итоге я использовал MessageListenerAdapter с пользовательским объектом делегирования и JsonMessageConverter как MessageConverter. Как так:

SimpleMessageListenerContainer listenerContainer = new SimpleMessageListenerContainer(); 
listenerContainer.setMessageListener(new MessageListenerAdapter(new EventHandler(), new JsonMessageConverter())); 

Моего EventHandler класс имеет единственный метод, называемый handleMessage, который получает десериализованный объект JSON, переданный ему.

Смежные вопросы