コアコンポーネント

コネクタとモジュールでの操作と同様に、コアコンポーネントは Mule アプリケーションのフローの重要なビルディングブロックです。コアコンポーネントは、Mule イベントが アプリケーションでリンクされた一連のステップを通過するときに処理する ロジックを提供します。たとえば、Scheduler、For Each、Logger などのコンポーネントがあります。

Studio では、Mule パレットから ​[Core (コア)]​ をクリックして Mule コンポーネントにアクセスできます。

+ image::components-core-studio.png[Studio でのコアコンポーネント]

+ コンポーネントは [Batch (バッチ)]、[Error Handling (エラー処理)]、 [Flow Control (フローコントロール)] などの種類に細分化されています。

バッチ

Mule メッセージをバッチで処理するには、すべてまとめて処理する代わりに、 バッチコンポーネントを使用できます。このコンポーネントには次が含まれます。

  • Batch Aggregator

  • Batch Job

  • Batch Step

「バッチ処理」​を参照してください。

コンポーネント

次のコアコンポーネントはさまざまなタスクを実行します。

  • Custom Business Events​: ビジネストランザクションを 処理するフローおよびメッセージプロセッサーに関する情報を収集。​「ビジネスイベント」​も参照してください。

  • Dynamic Evaluate​: Transform Message コンポーネントを 使用してスクリプトを強制的にハードコードする代わりに、動的に選択。

  • Flow Reference​: Mule アプリケーション内で、 Mule イベントを別のフローまたはサブフローに転送。

  • Logger​: エラーメッセージや状況通知など、 Mule アプリケーションに関する重要な情報をログに記録。

  • Parse Template​: テンプレートを処理して結果を取得。

  • Transform Message​: 入力データを新しい出力構造 または形式に変換。

エンドポイント

エンドポイント (Studio ではソースとも呼ばれる) には、 Mule フローで処理を開始 (またはトリガー) するコンポーネントが含まれます。​Scheduler​ はエンドポイントです。設定可能な間隔で開始する フローをトリガーします。

一部のコネクタでは、エンドポイントとして機能するリスナーが提供されます。リスナーは、 外部要求を受け取ったときにフローをトリガーできます。たとえば、特定の URL に 設定された HTTP リスナーは、誰かまたはプロセスがその URL にアクセスしたときに フローをトリガーできます。

エラー処理

エラー処理コンポーネントは、Mule アプリケーションで発生した Mule エラーの転送と処理を行います。

  • Error Handler

  • On Error Continue

  • On Error Propagate

「エラーハンドラー」​を参照してください。

フローコントロール (ルーター)

フローコントロールコンポーネント (ルーター) は、入力 Mule イベントを取得し、 コンポーネントの 1 つ以上の個別のシーケンスに転送します。フローコントロールには次のコンポーネントがあります。

  • Choice

  • First Successful

  • Round Robin

  • Scatter-Gather

たとえば、​Choice ルーター​は DataWeave ロジックを適用して複数のルートから 1 つを選択します。各ルートは イベントプロセッサーの個別のシーケンスです。

Scatter-Gather ルーター​は入力イベントを すべてのルートに送信し、各ルートは単独でイベントを処理します。 すべてのルートでイベントが処理されたら、すべてのルートの結果が 1 つの出力イベントにまとめられます。

スコープ

スコープは、イベントプロセッサーのシーケンス (他のコアコンポーネント、 モジュールとコネクタ両方からの操作など) をグループ化し、その分離された イベントプロセッサーのシーケンスにプログラミング動作を適用するコンポーネントの種類です。

スコープには次のコンポーネントがあります。

  • Async

  • Cache

  • Flow

  • For Each

  • Try

  • Until Successful

たとえば、Try スコープでは、フローの特定のシーケンスで発生するエラーを 分離して処理できます。そのため、アウトバウンド HTTP Request Connector (および Transform Message コンポーネントや Logging コンポーネントなど、HTTP Request Connector 前後にあるいくつかの周辺コンポーネント) を Try スコープでラップし、 エラーが発生した場合に、そのコンポーネントのグルーピングに固有のログまたは 補正ロジックを適用できます。​「Try スコープ」​を参照してください。

別の例として For Each (または Foreach) スコープがあります。このスコープは通常、 現在の入力イベントから抽出されたデータのコレクションを取得し、コレクション 内のすべての項目に同じイベントプロセッサーのシーケンスを適用します。たとえば、 For Each スコープはデータベースクエリから返された各行、または CSV ファイルの 各行を処理するために使用できます。​「For Each スコープ」​を参照してください。

トランスフォーマー

トランスフォーマーは、Mule イベントの一部を設定または削除するために使用できるコンポーネントです。 トランスフォーマーには次のコンポーネントがあります。