設定ファイルのモジュール化

Mule 設定を 1 つのファイルにまとめるのは便利そうに思えるかもしれませんが、XML ファイルが大きすぎると急激に管理しにくくなります。そのため、単体の設定を複数のファイルに分割し、Mule の容量を利用してアプリケーションの起動時に複数の設定ファイルを読み込むことをお勧めします。 設定を複数のファイルに分割すると、チーム間で再利用しやすくなります。

Mule には、複数の設定ファイルを読み込む方法が 2 つあります。

  • サイドバイサイド: 読み込む個別の設定ファイルのリストを提供します。

  • インポート: 1 つの設定ファイルで複数のファイルをインポートし、次にインポートされたファイルで他のファイルをインポートできるようにします。

実際には、両方の手法を同時に使用するのが一般的です。

設定ファイルは同じコンテキストで読み込まれるため、設定要素に一意の名前を使用する必要があります。設定ファイルで名前が競合している場合、Mule はアプリケーションを読み込みません。

どのような場合に設定要素を複数のファイルに分割して、どの要素をまとめておくかを判断するお勧めの方法をいくつか紹介します。

  • ビジネスドメインは通常自然な境界となり、これを使用して設定要素を分割できます。

  • 似たような理由で変更された要素はまとめておきます。これにより、アプリケーションの関連性の低い側面に影響を及ぼすリスクが低減されます。

  • 管理コンポーネント、セキュリティ、外部システム設定などの技術的要素は境界として適しています。

  • 機能テストをしやすくするため、サイドバイサイドコネクタ設定を分離します。 (この推奨は、プロパティファイルを使用する環境固有のコネクタ設定には適用されません)。

  • 設定要素を分離する場合はチームおよびプロジェクト間で再利用することを検討します。

デフォルトでは、Mule はアプリケーションをサイドバイサイド方式でパッケージ化して読み込むときにすべての XML 設定ファイルを設定として扱います。

インポートされた設定ファイル

Mule には、設定ファイルを相互にインポートするための専用の ​import​ 設定コンポーネントがあります。このコンポーネントは ​file​ パラメーターを取り、このパラメーターには目的の設定ファイルへの参照が含まれています。

次の例は、他の 3 つの設定要素 ​global-configurations.xml​、​admin-config.xml​、​audit-flows.xml​ をインポートするメインの設定ファイルを示しています。

<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns="http://www.mulesoft.org/schema/mule/core"
      xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">

    <import file="global-configurations.xml"/>
    <import file="admin-config.xml"/>
    <import file="audit-flows.xml"/>

</mule>
このインポートメカニズムを使用するには、XML ファイルがクラスパスにあることが必要です。