49.2. オプションの設定
Camel コンポーネントは、以下の 2 つのレベルで設定されます。
- コンポーネントレベル
- エンドポイントレベル
49.2.1. コンポーネントオプションの設定 リンクのコピーリンクがクリップボードにコピーされました!
コンポーネントレベルは、エンドポイントによって継承される一般的な設定を保持する最上位レベルです。たとえば、コンポーネントにはセキュリティー設定、認証用の認証情報、ネットワーク接続の URL などが含まれます。
コンポーネントによってはオプションが少ししかないものもあれば、多くのオプションを持つものもあります。コンポーネントには通常、一般的に使用されるデフォルトが事前設定されているため、コンポーネントにいくつかのオプションを設定するだけで済みます。あるいは、全く何も設定しない場合もあります。
コンポーネントの設定は、Component DSL、設定ファイル(application.properties|yaml)、または直接 Java コードで実行できます。
49.2.2. エンドポイントオプションの設定 リンクのコピーリンクがクリップボードにコピーされました!
多くの場合、エンドポイントには多数のオプションがあり、最も多くの設定を行うのがエンドポイントであるため、エンドポイントで行う必要があることを設定できます。オプションは、エンドポイントが consumer (from) または producer (to) として使用されるか、または両方に使用されるかにも分類されます。
エンドポイントの設定は、多くの場合パスおよびクエリーパラメーターとしてエンドポイント URI で直接行われます。エンドポイントを設定するタイプセーフ方法として Endpoint DSL を使用することもできます。
オプションを設定する際の良い方法は、URL、ポート番号、機密情報などの設定をハードコーディングしないようにする Property Placeholders を使用することです。つまり、プレースホルダーを使用すると、コードから設定を外部化でき、柔軟性および再利用性が向上します。
以下の 2 つのセクションでは、最初にコンポーネント、次にエンドポイントのすべてのオプションを一覧表示します。
49.2.3. コンポーネントオプション リンクのコピーリンクがクリップボードにコピーされました!
プラットフォーム HTTP コンポーネントは、以下に示す 3 つのオプションをサポートしています。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
bridgeErrorHandler (consumer) | consumer の Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、consumer が受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、consumer は org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
autowiredEnabled (上級) | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | boolean |
エンジン (上級) | リクエストを処理するための HTTP サーバーエンジンの実装。 | PlatformHttpEngine |
49.2.4. エンドポイントオプション リンクのコピーリンクがクリップボードにコピーされました!
プラットフォーム HTTP エンドポイントは、URI 構文を使用して設定されます。
platform-http:path
platform-http:path
パスおよびクエリーパラメーターを使用します。
49.2.4.1. パスパラメーター(1 パラメーター) リンクのコピーリンクがクリップボードにコピーされました!
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
path (consumer) | 必須 このエンドポイントが HTTP 要求を提供するパス。プロキシーの場合は proxy を使用します。 | 文字列 |
49.2.4.2. クエリーパラメーター (11 個のパラメーター) リンクのコピーリンクがクリップボードにコピーされました!
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
consumes (consumer) |
このエンドポイントが入力として受け入れるコンテンツタイプ (application/xml や application/json など)。null または | 文字列 | |
httpMethodRestrict (consumer) | GET,POST など、提供する HTTP メソッドのコンマ区切りリスト。メソッドが指定されていない場合、すべてのメソッドが提供されます。 | 文字列 | |
matchOnUriPrefix (consumer) | 完全に一致するものが見つからない場合に、consumer が URI 接頭辞を照合してターゲット consumer を見つけようとするかどうか。 | false | boolean |
muteException (consumer) | 有効にすると、エクスチェンジが consumer側で処理に失敗した場合、レスポンスの本文には例外のスタックトレースが含まれません。 | true | boolean |
produces (consumer) | このエンドポイントが生成するコンテンツタイプ (application/xml や application/json など)。 | 文字列 | |
bridgeErrorHandler (consumer (上級)) | consumer の Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、consumer が受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、consumer は org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
exceptionHandler (consumer (上級)) | consumer によるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、consumer は例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | ExceptionHandler | |
exchangePattern (consumer (上級)) | consumer がエクスチェンジを作成する際に交換パターンを設定します。 列挙値:
| ExchangePattern | |
fileNameExtWhitelist(consumer (上級)) | ファイル拡張子のコンマまたは空白で区切られたリスト。これらの拡張子を持つアップロードはローカルに保存されます。Null 値またはアスタリスク () は、すべてのファイルを許可します。 | 文字列 | |
headerFilterStrategy (advanced) | カスタム HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルタリングします。 | HeaderFilterStrategy | |
platformHttpEngine (advanced) | このエンドポイントのリクエストを処理するための HTTP サーバーエンジンの実装。 | PlatformHttpEngine |