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.第22章 クラス
クラスコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Apache Camel 2.4 から利用可能
class: コンポーネントは Bean をメッセージエクスチェンジにバインドします。これは Bean コンポーネントと同じように機能しますが、レジストリーから Bean を検索する代わりに、クラス名に基づいて Bean を作成します。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
class:className[?options]
class:className[?options]
className は、Bean として作成および使用する完全修飾クラス名です。
オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
名前 | タイプ | デフォルト | 説明 |
---|---|---|---|
メソッド
|
文字列
|
null
|
Bean が呼び出されるメソッド名。指定のない場合は、Apache Camel はメソッド自体を選択しようとします。曖昧さが発生すると、例外が発生します。詳細は、Bean Binding を参照してください。 |
multiParameterArray
|
boolean
|
false
|
メッセージボディーから渡されるパラメーターを処理する方法。true の場合、In メッセージボディーはパラメーターの配列である必要があります。
|
bean.xxx
|
null
|
Camel 2.17: クラス名から create bean インスタンスで追加オプションを設定します。たとえば、Bean で
foo オプションを設定するには、bean.foo=123 を使用します。
|
URI にクエリーオプションは
?option=value&option=value&.. の形式で追加できます。
使用 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
クラス コンポーネントを Bean コンポーネントとして使用するだけで、代わりに完全修飾クラス名を指定してクラスコンポーネントを使用します。たとえば、
MyFooBean
を使用するには、次のようにする必要があります。
from("direct:start").to("class:org.apache.camel.component.bean.MyFooBean").to("mock:result");
from("direct:start").to("class:org.apache.camel.component.bean.MyFooBean").to("mock:result");
MyFooBean
で呼び出すメソッドを指定することもできます(例: hello
)。
from("direct:start").to("class:org.apache.camel.component.bean.MyFooBean?method=hello").to("mock:result");
from("direct:start").to("class:org.apache.camel.component.bean.MyFooBean?method=hello").to("mock:result");
作成されたインスタンスでのプロパティーの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
エンドポイント URI では、作成されたインスタンスに設定するプロパティーを指定できます。たとえば、
setPrefix
メソッドがある場合です。
また、
#
構文を使用して、レジストリーで検索するプロパティーを参照することもできます。
これは、ID
foo
でレジストリーから Bean を検索し、MyPrefixBean
クラスの作成されたインスタンスで setCool
メソッドを呼び出します。
注記
クラス コンポーネントがほぼ同じように機能する Bean コンポーネントの詳細を参照してください。