2016-10-04 4 views
2

ウサギにメッセージを送信中にメッセージヘッダを設定したい。 以下のコードを使用していますが、メッセージヘッダーを設定する方法が混乱しています。送信中にrabbitmqにメッセージヘッダを設定する

上記の方法では、私は単純に、Java POJOオブジェクトとそのタイプを送信すると主張しています。ここでメッセージヘッダをどこに設定すべきかを知りたい。

答えて

4

のJava 8:

template.convertAndSend(routingKey, message, m -> { 
    m.getMessageProperties().getHeaders().put("foo", "bar"); 
    m.getMessageProperties().setPriority(priority);   
    return m; 
}); 

Javaの6,7:

template.convertAndSend(routingKey, message, new MessagePostProcessor() { 

    @Override 
    public Message postProcessMessage(Message m) throws AmqpException { 
     m.getMessageProperties().getHeaders().put("foo", "bar"); 
     m.getMessageProperties().setPriority(priority);   
     return m; 
    } 

}); 
+0

コメントでコードを入れないでください。あなたが見ることができるように、それは読むことができません。代わりに質問を編集して、すべての設定を表示してください。優先順位はメッセージプロパティであり、メッセージヘッダーではありません。 'm.getMessageProperties()。setPriority(priority)'を使用してください。 –