35.3. メッセージコンテンツへのアクセス


メッセージヘッダーへのアクセス

メッセージヘッダーは、ルーターサービスで処理されることを意図していることが多いため、ルーターの観点から見て最も有用なメッセージコンテンツを含んでいることが一般的です。ヘッダーデータにアクセスするには、まずエクスチェンジオブジェクトからメッセージを取得してから (例: Exchange.getIn() を使用)、Message インターフェイスを使用して個別のヘッダーを取得する必要があります (例: Message.getHeader() を使用)。

例35.4「認証ヘッダーへのアクセス」 は、Authorization という名前のヘッダーの値にアクセスするカスタムプロセッサーの例を示しています。この例では、ExchangeHelper.getMandatoryHeader() メソッドを使用しているため、NULL ヘッダー値をテストする必要がなくなります。

例35.4 認証ヘッダーへのアクセス

import org.apache.camel.*;
import org.apache.camel.util.ExchangeHelper;

public class MyProcessor implements Processor {
  public void process(Exchange exchange) {
    String auth = ExchangeHelper.getMandatoryHeader(
                      exchange,
                      "Authorization",
                      String.class
                  );
    // process the authorization string...
    // ...
  }
}

Message インターフェースの詳細は、「Messages」 を参照してください。

メッセージボディーへのアクセス

メッセージボディーにもアクセスできます。たとえば、In メッセージの末尾に文字列を追加するには、例35.5「メッセージボディーへのアクセス」 に示されているようにプロセッサーを使用することができます。

例35.5 メッセージボディーへのアクセス

import org.apache.camel.*;
import org.apache.camel.util.ExchangeHelper;

public class MyProcessor implements Processor {
    public void process(Exchange exchange) {
        Message in = exchange.getIn();
        in.setBody(in.getBody(String.class) + " World!");
    }
}

メッセージのアタッチメントへのアクセス

Message.getAttachment() メソッドまたは Message.getAttachments() メソッドのいずれかを使用して、メッセージの添付にアクセスできます。詳細は、例34.2「Message インターフェイス」 を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.