1

私のラクダ プロジェクトでは、メッセージをゲートウェイに送信する必要があります (ゲートウェイはJMSメッセージとして受信します)。

ゲートウェイの場合、メッセージ テキストの他に、以下を使用する他の文字列プロパティがいくつかあります。jmsMessage.getStringProperty("xxx");

私のキャメルプロジェクトでは、私のコードは以下のようなものです:

@Produce(uri = "xxx")
private ProducerTemplate template;

@Override
public void sendToQueue(String textMessage, Map<String, String> properties) {
    template.sendBody(textMessage);
}

文字列のテキスト メッセージを送信するだけの場合は、引数を 1 つ受け取る sendBody メソッドを呼び出します。キャメルを使用してプロパティを送信する方法と、反対側でJMS TextMessage 文字列プロパティとしてプロパティを受信できる方法を考えています。

また、キャメル ヘッダーの意味は何ですか。これもマップです。

4

1 に答える 1

2

使用できます

template.sendBodyAndHeaders(textMessage, properties);

JMS プロパティは Camel Message ヘッダーにマップされるため。したがって、sendBodyAndHeadersメソッドを使用して JMS プロパティを含めることができる理由です。

于 2013-09-04T07:37:41.007 に答える