Subflow (<sub-flow/>)

logo cloud IDE Cloud IDE

logo desktop IDE Desktop IDE

Mule アプリケーションの Flow Reference から呼び出すスコープ内で、一連のコアコンポーネントと操作 (コネクタとモジュールによって提供される) をグループ化します。

Subflow コンポーネントは ​『Flow』​ コンポーネントと同様に動作しますが、次の点が異なります。

  • サブフローには Mule イベントソースがありません。

  • サブフローには組み込みエラー処理スコープがありません。

  • 設計中には、サブフローはそれをコールする Flow Reference コンポーネントを置き換えるマクロとして機能します。

    アプリケーションをビルドすると、サブフローをコールするすべての Flow Reference コンポーネントは、参照されるサブフローのコンテンツに置き換えられます。

  • フローを参照するよりもサブフローを参照する方がパフォーマンスは高くなります。

Mule アプリケーションでは複数のサブフローを作成できます。

フローとサブフローの仕様、機能、制限についての詳細は、​「フローおよびサブフロー」​を参照してください。

制限事項

サブフローを参照する Flow Reference コンポーネントがサブフローのコンテンツに置き換えられるため、実行時には、そのサブフロー内のイベントプロセッサーの複数のインスタンスがアプリケーション内に存在します。一意の ID またはインスタンスを使用して実行するイベントプロセッサーでは、この動作が問題になる可能性があります。

コンポーネント XML

このコンポーネントは、次の XML 構造をサポートします。

<sub-flow name="mySubFlow">

</sub-flow>
xml

Subflow (​<sub-flow/>​) 属性は UI および XML で設定できます。

属性名 属性 XML 説明

name1​ (デフォルト)

name

サブフローの編集可能な名前。

例: フローとサブフロー

次の例は、10 秒ごとにフローの実行をトリガーするスケジューラーを取得元として使用し、Flow Ref (​<flow-ref/>​) コンポーネントを介してサブフロー (​<sub-flow/>​) に接続します。そのサブフローも、Flow Ref コンポーネントを使用して別のサブフローに接続します。

この例の出力は次のようになります。

{
  "priceList": {
    "basic": {
      "dollars": "9.99",
      "localCurrency": 129.87,
      "index_plus_1": 1,
      "timer": 1533024312658
    },
    "premium": {
      "dollars": "53",
      "localCurrency": 689,
      "index_plus_1": 2,
      "timer": 1533024312659
    },
    "vip": {
      "dollars": "398.99",
      "localCurrency": 5186.87,
      "index_plus_1": 3,
      "timer": 1533024312659
    }
  }
}
json

関連情報