Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第136章 RMI
RMI コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
rmi: コンポーネントは Exchangeを RMI プロトコル(JRMP)にバインドします。
このバインディングは RMI のみを使用しているため、通常の RMI ルールは引き続き呼び出すことのできるメソッドに適用されます。このコンポーネントは、Remote インターフェイスを拡張するインターフェイスからのメソッド呼び出しを持つエクスチェンジのみをサポートします。メソッドのすべてのパラメーターは、Serializable または
Remote
オブジェクトのいずれかである必要があります。
Maven ユーザーは、このコンポーネントの
pom.xml
に以下の依存関係を追加する必要があります。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
rmi://rmi-regisitry-host:rmi-registry-port/registry-path[?options]
rmi://rmi-regisitry-host:rmi-registry-port/registry-path[?options]
以下に例を示します。
rmi://localhost:1099/path/to/service
rmi://localhost:1099/path/to/service
URI にクエリーオプションは
?option=value&option=value&.. の形式で追加できます。
オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
名前 | デフォルト値 | 説明 |
---|---|---|
メソッド
|
null
|
Apache Camel 1.3 では、呼び出すメソッドの名前を設定できます。 |
remoteInterfaces
|
null
|
XML DSL では、Camel 2.7 からこのオプションを使用できるようになり ました。コンマで区切られたインターフェイス名の一覧を指定できます。 |
使用 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
RMI レジストリーに登録されている既存の RMI サービスを呼び出すには、以下のようなルートを作成します。
from("pojo:foo").to("rmi://localhost:1099/foo");
from("pojo:foo").to("rmi://localhost:1099/foo");
RMI レジストリーで既存の Camel プロセッサーまたはサービスをバインドするには、以下のように RMI エンドポイントを定義します。
RmiEndpoint endpoint= (RmiEndpoint) endpoint("rmi://localhost:1099/bar"); endpoint.setRemoteInterfaces(ISay.class); from(endpoint).to("pojo:bar");
RmiEndpoint endpoint= (RmiEndpoint) endpoint("rmi://localhost:1099/bar");
endpoint.setRemoteInterfaces(ISay.class);
from(endpoint).to("pojo:bar");
RMI コンシューマーエンドポイントをバインドする場合は、公開されている
リモート
インターフェイスを指定する必要があります。
XML DSL では、以下のように Camel 2.7 以降実行 できます。
<camel:route> <from uri="rmi://localhost:37541/helloServiceBean?remoteInterfaces=org.apache.camel.example.osgi.HelloService"/> <to uri="bean:helloServiceBean"/> </camel:route>
<camel:route>
<from uri="rmi://localhost:37541/helloServiceBean?remoteInterfaces=org.apache.camel.example.osgi.HelloService"/>
<to uri="bean:helloServiceBean"/>
</camel:route>