第182章 VM


仮想マシンコンポーネント

vm: コンポーネントは非同期 SEDA 動作を提供し、BlockingQueue でメッセージを交換し、別のスレッドプールでコンシューマーを呼び出します。
このコンポーネントは、VM が CamelContext インスタンス間の通信をサポートする点で SEDA コンポーネントとは異なります。そのため、このメカニズムを使用して Web アプリケーション全体で通信できます( camel-core.jarシステム/ブート クラスパスにあることを想定)。
仮想マシンは SEDA コンポーネントの拡張です。

URI 形式

vm:queueName[?options]
Copy to Clipboard Toggle word wrap
queueName には、JVM 内のエンドポイントを一意に識別する任意の文字列(または少なくとも camel-core.jar をロードしたクラ出力ダー内)を指定できます。
URI にクエリーオプションは ?option=value&option=value&.. の形式で追加できます。
Camel 2.3 より前のバージョン - プロデューサーとコンシューマーの両方に同じ URI を使用する必要があります。
完全に同一の 仮想マシン エンドポイント URI は、プロデューサーとコンシューマーエンドポイントの両方に使用 する必要があり ます。そうしないと、URI の queueName 部分が同じであるにもかかわらず、Camel は 2 つ目の 仮想マシン エンドポイントを作成します。以下に例を示します。
from("direct:foo").to("vm:bar?concurrentConsumers=5");

from("vm:bar?concurrentConsumers=5").to("file://output");
Copy to Clipboard Toggle word wrap
プロデューサーとコンシューマーの両方にオプションを含む、完全な URI を使用する必要があります。
Camel 2.4 では、キュー名のみが一致するように修正されました。キュー名 バー を使用して、以下のように以前の exmple を書き換えることができます。
from("direct:foo").to("vm:bar");

from("vm:bar?concurrentConsumers=5").to("file://output");
Copy to Clipboard Toggle word wrap

オプション

同じルールが 仮想マシン コンポーネントに適用されるオプションおよびその他の重要な使用方法は、SEDA コンポーネントを参照してください。

サンプル

以下のルートでは、CamelContext インスタンス全体のエクスチェンジを order.email という名前の仮想マシンキューに送信します。
from("direct:in").bean(MyOrderBean.class).to("vm:order.email");
Copy to Clipboard Toggle word wrap
その後、他の Camel コンテキストでエクスチェンジを受信します(別の .war アプリケーションにデプロイされるなど)。
from("vm:order.email").bean(MyOrderEmailSender.class);
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat