第187章 XMPP


XMPP コンポーネント

xmpp: コンポーネントは XMPP (Jabber)トランスポートを実装します。

URI 形式

xmpp://[login@]hostname[:port][/participant][?Options]
Copy to Clipboard Toggle word wrap
コンポーネントは、部屋ベースと非個人の会話の両方をサポートします。コンポーネントはプロデューサーとコンシューマーの両方をサポートします(XMPP からメッセージを取得したり、XMPP にメッセージを送信したりできます)。コンシューマーモードは、部屋をサポートします。
URI にクエリーオプションは ?option=value&option=value&.. の形式で追加できます。

オプション

Expand
名前 説明
room このオプションを指定すると、コンポーネントは MUC (Multi User Chat)に接続します。通常、MUC のドメイン名はログインドメインとは異なります。たとえば、superman@jabber.org で、krypton 部屋に加入する場合、部屋の URL は krypton@conference.jabber.org となります。会議 の部分に注意します。
user ユーザー名(サーバー名なし)。指定しない場合、匿名ログインが試行されます。
password Password。
resource XMPP リソース。デフォルトは Camel です。
createAccount true の場合、アカウントの作成の試行が行われます。デフォルトは false です。
参加者 メッセージを受信するユーザーの JID (Jabber ID)。room パラメーターは、参加者 よりも優先されます。
ニックネーム 部屋への参加時にニックネームを使用します。room が指定され、ニックネームが指定されていない場合、ユーザー はニックネームに使用されます。
serviceName 接続しているサービスの名前。Google Talk の場合、これは gmail.com になります。
testConnectionOnStartup *Camel 2.11* 起動時に接続をテストするかどうかを指定します。これは、ルートの開始時に XMPP クライアントに XMPP サーバーへの有効な接続を確保するために使用されます。接続を確立できない場合に Camel は起動時に例外を出力します。このオプションが false に設定されている場合、Camel はプロデューサーが必要とするときにレイジー接続を確立しようとし、接続が確立されるまでコンシューマー接続をポーリングします。デフォルトは true です。
connectionPollDelay *Camel 2.11* XMPP 接続の正常性を検証するポーリングの間隔(秒単位)、または最初のコンシューマー接続を確立しようとする間隔(秒単位)。非アクティブになると、Camel は接続の再確立を試みます。デフォルトは 10 秒 です。
pubsub Camel 2.15: 入力で pubsub パケットを許可します。デフォルトは false です。
doc Camel 2.15: 着信パケットの Document フォームを含む In メッセージに doc ヘッダーを設定します。デフォルトは true で、存在または pubsub は true、それ以外の場合は false です。

ヘッダーおよび Subject または Language の設定

Apache Camel は、メッセージ IN ヘッダーを XMPP メッセージのプロパティーとして設定します。ヘッダーのカスタムフィルターが必要な場合は、HeaderFilterStategy を設定できます。XMPP メッセージの Subject および Language も IN ヘッダーとして提供されている場合に設定されます。

ユーザー superman は、パスワード secret を使用して jabber サーバーで部屋 krypton に参加するためのスーパーマンです。
xmpp://superman@jabber.org/?room=krypton@conference.jabber.org&password=secret
Copy to Clipboard Toggle word wrap
ユーザー superman は、joker にメッセージを送信します。
xmpp://superman@jabber.org/joker@jabber.org?password=secret
Copy to Clipboard Toggle word wrap
Java でのルーティングの例:
from("timer://kickoff?period=10000").
setBody(constant("I will win!\n Your Superman.")).
to("xmpp://superman@jabber.org/joker@jabber.org?password=secret");
Copy to Clipboard Toggle word wrap
joker からキューにあるすべてのメッセージを evil.talk に書き込むコンシューマー設定。
from("xmpp://superman@jabber.org/joker@jabber.org?password=secret").
to("activemq:evil.talk");
Copy to Clipboard Toggle word wrap
部屋メッセージをリッスンするコンシューマーの設定:
from("xmpp://superman@jabber.org/?password=secret&room=krypton@conference.jabber.org").
to("activemq:krypton.talk");
Copy to Clipboard Toggle word wrap
短い表記の部屋(ドメイン部分なし):
from("xmpp://superman@jabber.org/?password=secret&room=krypton").
to("activemq:krypton.talk");
Copy to Clipboard Toggle word wrap
Google Chat サービスに接続する場合は、serviceName と認証情報を指定する必要があります。
// send a message from fromuser@gmail.com to touser@gmail.com
from("direct:start").
        to("xmpp://talk.google.com:5222/touser@gmail.com?serviceName=gmail.com&user=fromuser&password=secret").
        to("mock:result");
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat