Konvertieren von Nachricht von RabbitMQ in string/json

Ich bin derzeit kämpfen hart mit einem fairen einfaches problem. Ich möchte eine Nachricht erhalten, die von RabbitMQ und haben, umgewandelt in einen string (oder später ein json-Objekt). Aber alles was ich bekomme ist Byte.

Den Nachricht Objekt zeigt sich als ein string, der Weg

(Body:'{"cityId":644}'; ID:null; Content:application/json; Headers:{}; Exchange:; RoutingKey:pages.type.index; Reply:null; DeliveryMode:NON_PERSISTENT; DeliveryTag:1)

Die configuration-Klasse (mit spring)

@Configuration
public class RabbitConfiguration {

    @Bean
    public CachingConnectionFactory connectionFactory() {
        CachingConnectionFactory connectionFactory = new CachingConnectionFactory("www.example.com");
        connectionFactory.setUsername("xxxx");
        connectionFactory.setPassword("xxxx");
        return connectionFactory;
    }

    @Bean
    public MessageConverter jsonMessageConverter(){
        JsonMessageConverter jsonMessageConverter = new JsonMessageConverter();
        return jsonMessageConverter;
    }

    @Bean
    public SimpleMessageListenerContainer messageListenerContainer(){
        SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory());
        container.setAutoStartup(false);
        container.setQueues(indexQueue());
        container.setConcurrentConsumers(1);
        container.setAcknowledgeMode(AcknowledgeMode.AUTO);
        container.setMessageListener(new MessageListenerAdapter(pageListener(), jsonMessageConverter()));
        return container;
    }

    @Bean
    public Queue indexQueue(){
        return new Queue("pages.type.index");
    }

    @Bean
    public MessageListener pageListener(){
        return new PageQueueListener();
    }

}

und die message-listener -

public class PageQueueListener implements MessageListener {

    public void onMessage(Message message) {
        System.out.println(message);
        System.out.println(message.getBody());
    }
 }

mein problem ist, dass die getBody() Methode zeigt [B@4dbb73b0 so nichts ist für immer bekehrt. Weder ein string noch um ein json-Objekt 🙁

Fühle ich mich dumm, aber ich finde keine Lösung hier

InformationsquelleAutor MatthiasLaug | 2012-10-05

Schreibe einen Kommentar