mule 3.3.1 CE を使用しています。
メッセージ ペイロードが SUCCESS 文字列の場合に、バックアップ ディレクトリから *.json ファイルを読み取るシナリオがあります。
これが私のミュール構成です:
<flow>
...
<flow-ref name="auditTrailFlow"/>
<flow-ref name="auditTrailBackupFlow"/>
</flow>
<sub-flow name="auditTrailBackupFlow">
/// returns SUCCESS
</sub-flow>
<sub-flow name="auditTrailBackupFlow">
<description>
Resending backup AuditTrail JSON's objects to db
</description>
<choice>
<when expression="#[message.payload == SUCCESS]">
<logger level="INFO" message="Checking audittrail backup directory"/>
<file:inbound-endpoint connector-ref="in" path="${audittrail.backup.dir}">
<file:filename-wildcard-filter pattern="*.json" caseSensitive="true" />
</file:inbound-endpoint>
<not-filter>
<filter ref="nullPayloadFilter"/>
</not-filter>
<json:json-to-object-transformer targetClass="com.company.AuditTrail"/>
// updates db
</when>
<otherwise>
// do something
</otherwise>
</choice>
</sub-flow>
アプリがサーバーにデプロイされると、次のエラーが発生します
Invalid content was found starting with element 'file:inbound-endpoint'.
エラーに基づいて、file:inbound-endpoint が間違った場所にあることがわかりました。
私の質問は、ミュール メッセージ ペイロードが成功した場合に、ミュール ファイル トランスポートにファイルを読み取るように指示するにはどうすればよいかということです。