検索

5.5. AMQP コンポーネントの設定

download PDF

Camel 2.16.1 以降では AMQPComponent#amqp10Component(String connectionURI) ファクトリーメソッドを使用して、事前設定されたトピックの接頭辞を付けて AMQP 1.0 コンポーネントを返すこともできます。

AMQP 1.0 コンポーネントの作成

 AMQPComponent amqp = AMQPComponent.amqp10Component("amqp://guest:guest@localhost:5672");

Camel 2.17 以降、AMQPComponent#amqp10Component(String connectionURI) ファクトリーメソッドが非推奨になり、AMQPComponent#amqpComponent(String connectionURI) が後継となったことに注意してください。

AMQP 1.0 コンポーネントの作成

AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672");

AMQPComponent authorizedAmqp = AMQPComponent.amqpComponent("amqp://localhost:5672", "user", "password");

Camel 2.17 以降、AMQP コンポーネントを自動的に設定するために、org.apache.camel.component.amqp.AMQPConnectionDetails のインスタンスをレジストリーに追加することもできます。たとえば、Spring Boot の場合、Bean を定義するだけです。

AMQP 接続の詳細の自動設定

@Bean
AMQPConnectionDetails amqpConnection() {
  return new AMQPConnectionDetails("amqp://localhost:5672");
}

@Bean
AMQPConnectionDetails securedAmqpConnection() {
  return new AMQPConnectionDetails("amqp://localhost:5672", "username", "password");
}

同様に、Camel-CDI を使用する場合は、CDI プロデューサーメソッドも使用できます。

CDI の AMQP 接続の詳細の自動設定

@Produces
AMQPConnectionDetails amqpConnection() {
  return new AMQPConnectionDetails("amqp://localhost:5672");
}

Camel プロパティー を利用して、AMQP 接続の詳細を読み取ることもできます。ファクトリーメソッド AMQPConnectionDetails.discoverAMQP() は、以下のスニペットで示されているように、Kubernetes に似た規則で Camel プロパティーを読み取ろうとします。

AMQP 接続の詳細の自動設定

export AMQP_SERVICE_HOST = "mybroker.com"
export AMQP_SERVICE_PORT = "6666"
export AMQP_SERVICE_USERNAME = "username"
export AMQP_SERVICE_PASSWORD = "password"

...

@Bean
AMQPConnectionDetails amqpConnection() {
  return AMQPConnectionDetails.discoverAMQP();
}

AMQP 固有のオプションを有効にする

たとえば、amqp.traceFrames を有効にする必要がある場合は、次の例のように、オプションを URI に追加することで有効にできます。

AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672?amqp.traceFrames=true");

参考までに、QPID JMS クライアント設定 を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.