Flex Gateway新着情報
Governance新着情報
Monitoring API Managerプロキシの移行を実行するこの例では、Mule Migration Assistant (MMA) を使用します。 この手順では、ツールの 前提条件を満たしている必要があります。MMA の完全なユーザードキュメントについては、 「Migration to Mule 4 (Mule 4 への移行)」(GitHub) を参照してください。
プロキシを移行するための MMA コマンドは、Mule アプリケーションを移行するための標準の コマンドラインオプション (GitHub) を使用します。
$ java -jar mule-migration-assistant-runner-0.5.1.jar \
-projectBasePath /Users/me/AnypointStudio/workspace-studio/my-mule3-proxy/ \
-muleVersion 4.1.5 \
-destinationProjectBasePath /Users/me/my-dir/my-migrated-proxy
MMA では、-destinationProjectBasePath
オプションを使用して移行したプロジェクトのディレクトリが作成されます。my-migrated-proxy
は、コマンドを呼び出す前には存在しない必要があります。すでに存在するフォルダーを指定すると、移行は次のようなエラーで失敗します。
Exception: Destination folder already exists. (例外: 宛先フォルダーがすでに存在しています。)
移行が正常に実行されると、次のようなメッセージが表示されます。
Executing migration...
...
========================================================
MIGRATION SUCCESS
========================================================
Total time: 11.335 s
Migration report:
/Users/me/my-dir/my-migrated-proxy/report/summary.html
移行が正常に完了すると、宛先フォルダーには次の内容が含まれます。
プロキシ POM ファイル。
Mule 移行レポート (GitHub) (summary.html
) を含む report
ディレクトリ。
このレポートで提供されるものと同じ情報は、プロキシ XML ファイルにコメントとして含まれています。
MMA コマンドで設定された -muleVersion
値と一致する minMuleVersion
値が設定された mule-artifact.json
ファイル。
src
ディレクトリ。移行したコンテンツが含まれます。
src
ディレクトリには、main
および test
ディレクトリが含まれます。main
内では、mule
ディレクトリにプロキシ XML ファイルが含まれます。mule
ディレクトリと同じレベルで、移行したプロキシに必要な DataWeave ファイルまたはその他のファイル用の resources
ディレクトリが作成されます。
アーティファクトを適切にデプロイするには、プロキシ XML で定義された設定ファイルが resources
ディレクトリに存在する必要があります。test
ディレクトリには、テスト設定ファイルが含まれます。
移行に成功したら、POM の移行で説明されているように、POM ファイルを変更する必要があります。POM ファイルに適切な組織 ID が設定されたら、mvn clean install
を使用してコンパイルできます。コンパイルに成功した場合、maven clean deploy
を使用して移行したプロキシを Exchange にアップロードできます。カスタムアプリケーションのアップロードについての詳細は、 「Maven を使用した Exchange アセットのパブリッシュとデプロイ」を参照してください。
POM ファイルの移行により、カスタムプロキシを Exchange にアップロードするために必要な要素が含まれるようにファイルが変更されます。
移行後:
<groupId/>
および <exchange.url/>
要素の {orgId}
値は、Anypoint Platform にある組織 ID に置き換えられます。
組織 ID を取得する方法についての詳細は、「Exchange へのカスタムポリシーのアップロード」を参照してください。
デフォルトでは、Exchange URL は本番環境に設定されます。
<groupId>{orgId}</groupId>
<properties>
<exchange.url>https://maven.anypoint.mulesoft.com/api/v1/organizations/{orgId}/maven</exchange.url>
</properties>
EU バージョンの URL の場合、移行後に URL を手動で設定する必要があります。
EU の URL テンプレート:
https://maven.eu1.anypoint.mulesoft.com/api/v1/organizations/{orgId}/maven
MMA がプロキシの POM ファイルを見つけられない場合、新しい POM ファイルが作成されます。このファイルでは、ポリシーの artifactId
はプロキシアプリケーションのベースディレクトリの名前です。たとえば、mytestproxy/src/main/app/proxy.xml
内のプロキシの場合、artifactId
は mytestproxy
です。
いくつかの要素は、Mule 3 から Mule 4 に移行されません。
要素 | 理由 |
---|---|
|
Mule 4 では、API の自動作成は無効です。 |
|
Mule 4 では、API の自動作成は無効です。 |
これらの各要素では、子要素も削除されます。
移行中にプロキシファイルが見つからない場合、MMA は次のようなメッセージを出力します。
Executing migration...
...
===============================================================================
MIGRATION FAILED
===============================================================================
Total time: 3.008 s
Exception: Cannot read mule project. Is it a Mule Studio project?
com.mulesoft.tools.migration.engine.exception.MigrationJobException: Cannot read mule project. Is it a Mule Studio project?
at com.mulesoft.tools.migration.engine.project.MuleProjectFactory.getMuleProject(MuleProjectFactory.java:50)
at com.mulesoft.tools.migration.engine.MigrationJob.generateSourceApplicationModel(MigrationJob.java:116)
at com.mulesoft.tools.migration.engine.MigrationJob.execute(MigrationJob.java:80)
at com.mulesoft.tools.migration.MigrationRunner.main(MigrationRunner.java:83)
===============================================================================
MMA がプロキシの POM モデルを見つけられない場合、Mule 3 の既存の POM からモデルが生成されるか、Mule 3 POM がない場合はモデルが作成されます。MMA が既存の POM を使用している場合、不正な POM 定義が検出されると POM モデルの作成プロセスが失敗します。POM モデル障害に関する情報については、POM モデルの変更時の MMA ステップに関する前のエラーメッセージを確認する必要があります。
RAML プロキシ要素は REST プロキシ要素に移行されます。
Mule 3 | Mule 4 |
---|---|
|
|
|
|
|
|
error-handler
要素には、on-error-continue
要素の次の型が含まれます。
型 | Status Code |
---|---|
REST-VALIDATOR:BAD_REQUEST |
400 |
REST-VALIDATOR:RESOURCE_NOT_FOUND |
404 |
REST-VALIDATOR:METHOD_NOT_ALLOWED |
405 |
HTTP:TIMEOUT |
504 |
Mule 3 要素に見つからない例外は、Mule Migration Assistant によってオートコンプリートされます。
WSDL プロキシの移行は、WSDL プロパティの属性値の移行で構成されます。Mule 3 では、ほとんどの値は属性値として定義された関数を使用して抽出されます。Mule 4 には同等のプロセスがないため、ほとんどのプロパティはデフォルト値に移行され、service
キーワードで始まる WSDL ファイルの値を使用して手動で設定する必要があります。
一部のプロパティは、よりわかりやすい方法で値を抽出するために名前が変更されています。次に例を示します。
Mule 3 | Mule 4 |
---|---|
|
|
|
|
|
|
次のようなその他のプロパティは、MMA によって提供される WSDL 関数拡張の連動関係を使用する DataWeave 式に移行され、期待値を抽出します。
Mule 3 | Mule 4 |
---|---|
|
|
|
|
|
|