1

ポーリング スコープでミュール インバウンド ファイル コネクタを使用しようとしていますが、エンドポイントを開始できないというエラーが発生しました。ポーリングスコープを削除し、デフォルトのポーリングでファイルコネクタを使用すると、ファイルパスを変更せずに正常に動作します。

なぜ Poll スコープでエラーが発生するのか疑問に思っていました。ファイル インバウンド コネクタがポーリング スコープでラップすることを許可されていない場合、anypoint studio がラップ イン オプションでポーリング スコープを表示するのはなぜですか?

同様の質問を見つけましたが、詳細な説明はありませんでした。

Mule は POLL メッセージ プロセッサがファイル インバウンドを使用してファイルを読み取ることを許可しませんか?

ご回答ありがとうございます。

4

4 に答える 4

1

mule-module-requester https://github.com/mulesoft/mule-module-requesterを Poll Scheduler と一緒に使用します。

関連する投稿: http://blogs.mulesoft.com/dev/mule-dev/introducing-the-mule-requester-module/

別の方法は、

FTP フローを initialState="stopped" に設定し、ポーリング スケジューラにフローを開始させます。FTP 処理後、フローを再度停止します。

サンプルコードを参照してください:

<ftp:connector name="FTP" pollingFrequency="1000"
     validateConnections="true" moveToDirectory="/work/ftp/processed"
     doc:name="FTP" />
 <flow name="scheduleStartFTPFlow">
     <poll doc:name="Poll">
         <fixed-frequency-scheduler frequency="1"
             timeUnit="MINUTES" />
         <expression-component doc:name="START FTP FLOW"><![CDATA[if(app.registry.processFTPFlow.isStopped()){
            app.registry.processFTPFlow.start();
    }]]></expression-component>
     </poll>
     <logger message="Poll Logging: #[payload]" level="INFO"
         doc:name="Logger" />
 </flow>
 <flow name="processFTPFlow" initialState="stopped">
     <ftp:inbound-endpoint host="localhost" port="21"
         path="/data/ftp" user="Sanjeet" password="sanjeet123" responseTimeout="10000"
         doc:name="FTP" connector-ref="FTP" />
     <logger message="Logging FTP #[payload]" level="INFO" doc:name="Logger" />
     <expression-component doc:name="STOP FTP FLOW"><![CDATA[app.registry.processFTPFlow.stop();]]></expression-component>
 </flow>
于 2017-11-25T16:56:30.503 に答える