33.2. オプションの設定
Camel コンポーネントは、以下の 2 つのレベルで設定されます。
- コンポーネントレベル
- エンドポイントレベル
33.2.1. コンポーネントオプションの設定 リンクのコピーリンクがクリップボードにコピーされました!
コンポーネントレベルは、エンドポイントによって継承される一般的な設定を保持する最上位レベルです。たとえば、コンポーネントにはセキュリティー設定、認証用の認証情報、ネットワーク接続の URL などが含まれます。
コンポーネントによってはオプションが少ししかないものもあれば、多くのオプションを持つものもあります。コンポーネントには通常、一般的に使用されるデフォルトが事前設定されているため、コンポーネントにいくつかのオプションを設定するだけで済みます。あるいは、全く何も設定しない場合もあります。
コンポーネントの設定は、Component DSL、設定ファイル(application.properties|yaml)、または直接 Java コードで実行できます。
33.2.2. エンドポイントオプションの設定 リンクのコピーリンクがクリップボードにコピーされました!
多くの場合、エンドポイントには多数のオプションがあり、最も多くの設定を行うのがエンドポイントであるため、エンドポイントで行う必要があることを設定できます。オプションは、エンドポイントが consumer (from) または producer (to) として使用されるか、または両方に使用されるかにも分類されます。
エンドポイントの設定は、多くの場合パスおよびクエリーパラメーターとしてエンドポイント URI で直接行われます。エンドポイントを設定するタイプセーフ方法として Endpoint DSL を使用することもできます。
オプションを設定する際の良い方法は、URL、ポート番号、機密情報などの設定をハードコーディングしないようにする Property Placeholders を使用することです。つまり、プレースホルダーを使用すると、コードから設定を外部化でき、柔軟性および再利用性が向上します。
以下の 2 つのセクションでは、最初にコンポーネント、次にエンドポイントのすべてのオプションを一覧表示します。
33.2.3. コンポーネントオプション リンクのコピーリンクがクリップボードにコピーされました!
JSLT コンポーネントは、以下に示す 5 つのオプションをサポートしています。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
allowTemplateFromHeader (producer) | ヘッダーのリソーステンプレートの使用を許可するかどうか (デフォルトは false)。これを有効にすると、メッセージヘッダーを介して動的テンプレートを指定できます。ただし、ヘッダーが悪意のあるユーザーからのものである場合、これは潜在的なセキュリティーの脆弱性と見なされる可能性があるため、注意して使用してください。 | false | boolean |
lazyStartProducer (producer) | 最初のメッセージで producer をレイジーに起動すべきかどうか。レイジーに起動することで、起動時に producer が失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、producer の作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | boolean |
autowiredEnabled (上級) | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | boolean |
functions (上級) | JSLT は、Java で記述された関数をプラグインすることで拡張できます。 | コレクション | |
objectFilter (上級) | JSLT は、カスタム jslt オブジェクトフィルターをプラグインすることで拡張できます。 | JsonFilter |
33.2.4. エンドポイントオプション リンクのコピーリンクがクリップボードにコピーされました!
JSLT エンドポイントは、URI 構文を使用して設定されます。
jslt:resourceUri
jslt:resourceUri
パスおよびクエリーパラメーターを使用します。
33.2.4.1. パスパラメーター(1 パラメーター) リンクのコピーリンクがクリップボードにコピーされました!
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
resourceUri (producer) | 必須 リソースへのパス。プリフィックスには、classpath、file、http、ref、または bean. classpath、file、http を付けることができます (classpath はデフォルト)。ref は、レジストリーでリソースを検索します。Bean は、リソースとして使用される Bean のメソッドを呼び出します。Bean の場合は、ドットの後にメソッド名を指定できます (例:bean:myBean.myMethod)。 | String |
33.2.4.2. クエリーパラメーター (7 パラメーター) リンクのコピーリンクがクリップボードにコピーされました!
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
allowContextMapAll (producer) | コンテキストマップが前詳細へのアクセスを許可するかどうかを設定します。デフォルトでは、メッセージの本文とヘッダーにのみアクセスできます。このオプションは、現在の Exchange および CamelContext へのフルアクセスに対して有効にできます。これを行うと、CamelContext API の全機能へのアクセスが開かれるため、潜在的なセキュリティーリスクが発生します。 | false | boolean |
allowTemplateFromHeader (producer) | ヘッダーのリソーステンプレートの使用を許可するかどうか (デフォルトは false)。これを有効にすると、メッセージヘッダーを介して動的テンプレートを指定できます。ただし、ヘッダーが悪意のあるユーザーからのものである場合、これは潜在的なセキュリティーの脆弱性と見なされる可能性があるため、注意して使用してください。 | false | boolean |
contentCache (producer) | リソースコンテンツキャッシュを使用するかどうかを設定します。 | false | boolean |
mapBigDecimalAsFloats (producer) | true の場合、マッパーはシリアル化機能で USE_BIG_DECIMAL_FOR_FLOATS を使用します。 | false | boolean |
objectMapper (producer) | 使用するカスタム JSON オブジェクトマッパーを設定します。 | ObjectMapper | |
prettyPrint (common) | true の場合、出力メッセージの JSON がきれいに出力されます。 | false | boolean |
lazyStartProducer (producer (上級)) | 最初のメッセージで producer をレイジーに起動すべきかどうか。レイジーに起動することで、起動時に producer が失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、producer の作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | boolean |