2013-06-19 67 views
0

我有兩個獨立的Java應用程序,我需要使用spring-rabbit通過RabbitMQ發送消息。在生產者的應用程序中,我使用JsonMessageConverter作爲我的RabbitTemplate的消息轉換器,將我的Java對象轉換爲JSON消息,然後將它們發送到隊列。如何將JSON消息從RabbitMQ轉換爲Java對象?

在消費者的其他應用程序中,我想將JSON消息轉換回Java對象。我嘗試使用SimpleMessageListenerContainer與自定義MessageListener,我可以從隊列中獲得Message,但我不知道將它們從JSON轉換回Java對象。

如何從RabbitMQ異步消費郵件時使用JsonMessageConverter

+0

你能告訴你如何在生產者中使用JsonMessageConverter嗎?你如何在消費者中獲得消息? –

回答

5

我結束了使用MessageListenerAdapter與自定義代理對象和JsonMessageConverter作爲MessageConverter。像這樣:

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

EventHandler類有一個名爲的handleMessage一個方法,其得到傳遞給它的反序列化JSON對象。