Studio では、ソースフローのメタデータを、アプリケーション内で参照される他の対象フローに伝播できます。対象フローにすでに含まれているメタデータによっては、特定のメタデータをソースフローから伝播するように設定することが必要になる場合があります。
カスタムメタデータのないフローへのメタデータの伝播
Flow Reference コンポーネントをソースフローに追加し、カスタムメタデータが設定されていない対象フローを参照すると、Studio はソースフローのメタデータをカスタムメタデータとして対象フローに自動的に伝播します。
-
Anypoint Studio 画面の上部にあるタスクバーで、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] を選択します。
-
新しいプロジェクトの名前を入力して、[Finish (完了)] を選択します。
-
2 つのフローコンポーネントを空のキャンバスにドラッグして、
flow-1 および flow-2 という名前を付けます。
-
[Set Payload] コンポーネントを
flow-1 にドラッグして、ペイロードを設定します。{ "value": { "ID": 1, "departureDate": "2016/12/20", "emptySeats": 200, "plane": { "type": "Boeing 747", "totalSeats": 400 } } }
-
[Logger] コンポーネントを
flow-2 にドラッグして、payload を記録するように設定します。
-
[Flow Reference] コンポーネントを
flow-1 の最後にドラッグして、`flow-2` を参照するように設定します。
-
flow-2 のメタデータタブには自動生成されたメタデータが入力され、メタデータエクスプローラーの入力タブには、flow-1 で Set Payload コンポーネントで決定されたペイロード形式が反映されます。
操作をフローから新しいフローに抽出するときのメタデータの伝播
操作をソースフローから抽出して新しい対象フローまたはサブフローに伝播する場合、Studio では、新しく作成したフローに伝播する必要があるメタデータを設定できます。
-
Anypoint Studio 画面の上部にあるタスクバーで、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] を選択します。
-
新しいプロジェクトの名前を入力して、[Finish (完了)] を選択します。
-
フローコンポーネントを空のキャンバスにドラッグして、および
flow-1 という名前を付けます。 -
[Set Payload] コンポーネントを
flow-1 にドラッグして、ペイロードを設定します。{ "value": { "ID": 1, "departureDate": "2016/12/20", "emptySeats": 200, "plane": { "type": "Boeing 747", "totalSeats": 400 } } }
-
[Logger] コンポーネントを
flow-1 の最後にドラッグして、#[payload.value.departureDate] を記録するように設定します。
-
[Logger] コンポーネントを右クリックして、[Extract To… (抽出先…)] > [Flow (フロー)] を選択します。
-
対象フローに
flow-2 という名前を付けます。 -
[Metadata Preferences (メタデータプリファレンス)] を選択して、入力および出力メタデータを設定します。
Studio はフローのメタデータを自動的に認識します。
-
[OK] を選択します。
-
flow-2 に Logger コンポーネントが含まれ、メタデータタブには自動生成されたメタデータが入力され、メタデータエクスプローラーの入力タブには、flow-1 で Set Payload コンポーネントで設定されたペイロード形式が反映されます。
すでにカスタムメタデータが設定されているフローへのメタデータの伝播
Flow Reference コンポーネントをソースフローに追加し、すでにカスタムメタデータが設定されている別の対象フローを参照すると、伝播するメタデータを選択するように要求するメッセージが表示されます。
-
Anypoint Studio 画面の上部にあるタスクバーで、[File (ファイル)] > [New (新規)] > [Mule Project (Mule プロジェクト)] を選択します。
-
新しいプロジェクトの名前を入力して、[Finish (完了)] を選択します。
-
2 つのフローコンポーネントを空のキャンバスにドラッグして、
flow-1 および flow-2 という名前を付けます。
-
[Set Payload] コンポーネントを
flow-1 にドラッグして、ペイロードを設定します。{ "value": { "ID": 1, "departureDate": "2016/12/20", "emptySeats": 200, "plane": { "type": "Boeing 747", "totalSeats": 400 } } }
-
`arrival-type-example.json` という名前の JSON ファイルを次の形式で
src/main/resources/examples ディレクトリに作成します。arrival-type-example.json{ "value": { "ID": 1, "arrivalDate": "2016/12/20", "plane": { "type": "Boeing 747", "totalSeats": 400 } } } -
flow-2 > [Metadata (メタデータ)] タブ > [Add Metadata (メタデータを追加)] を選択します。
-
[Input: Payload (入力: ペイロード)] > [Edit (編集)] を選択します。
-
[Add (追加)] を選択し、`arrivalType` という新しいメタデータ型を作成して、[Create type (種別を作成)] を選択します。
-
種別 [JSON] > [Example (例)] を選択し、[…] ボタンを選択して
src/main/resources/examples/arrival-type-example.json を参照します。
-
[Select (選択)] をクリックします。
-
[Logger] コンポーネントを
flow-2 にドラッグして、payload を記録するように設定します。
-
[Flow Reference] コンポーネントを
flow-1 の最後にドラッグして、`flow-2` を参照するように設定します。
-
Flow Reference コンポーネントの [Metadata (メタデータ)] タブを選択し、[Set Metadata (メタデータを設定)] を選択します。
flow-1 からメタデータを設定すると flow-2 で設定されている既存の arrivalType メタデータ型が上書きされることが警告されます。
-
[Customize (カスタマイズ)] を選択して、目的のメタデータをフローに伝播するように設定します。
Studio は実際のメタデータとして
flow-1 で設定されたメタデータを認識し、予想されるメタデータとして flow-2 で設定されたメタデータを認識します。
伝播する特定のメタデータセットを定義する必要がある場合は、参照先フローの実際のメタデータと予想されるメタデータをカスタマイズすることが役立ちます。