Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerMule 3 では、<poll>
要素を使用して特定のフローを固定頻度でトリガーしました。この要素はスコープでもあり、その内部にメッセージプロセッサーが 1 つだけ含まれている必要がありました。そのプロセッサーから出力されるのは、フローが受信するメッセージです。
<flow name="poll>
<poll frequency="1000">
<db:select config-ref="MySQL_Configuration">
<db:parameterized-query>SELECT * FROM PERSON></db:parameterized-query>
<db:select>
</poll>
<flow-ref name="doProcess" />
</flow>
Mule 4 では <poll>
要素が <scheduler>
要素に置き換わりました。主な違いは次のとおりです。
ただフローをトリガーします。スコープではなくなりました。
固定頻度と cron 式の両方がサポートされます。
<flow name="poll>
<scheduler>
<scheduling-strategy>
<fixed-frequency frequency="1000"/>
</scheduling-strategy>
</scheduler>
<db:select config-ref="MySQL_Configuration">
<db:sql>SELECT * FROM PERSON></db:sql>
<db:select>
<flow-ref name="doProcess" />
</flow>
<scheduler>
要素の詳細については、スケジューラーに関するドキュメントを参照してください。
<poll>
要素では、同期を補助、スケジュールするために使用される <watermark>
要素もサポートされていました。その要素はなくなりました。代わりに、「ウォーターマークの移行」ページを参照してください。
Mule 3 では、quartz
トランスポートが非推奨となり、代わりに poll
が使用されました。したがって、Mule 4 でもそのほとんどが scheduler
に置き換わる可能性があります。
quartz
トランスポートの一部の機能は Mule 4 には存在しないので、それらのユースケースを移行するには違うアプローチが必要です。
Mule 4 では、repeatCount
は scheduler
でサポートされていません。
フェッチする必要がある場合は、オブジェクトストアでカウンターを比較し保存します。
このエンドポイントは、Mule 4 ではサポートされていません。
代替のアプローチとして、キュー (JMS や VM など) にイベントを書き込み、キューのすべてのメッセージをコンシュームして処理するスケジューラーを含む、別のフローを使用します。
job-endpoint
で使用されるトランスポートは、Mule 4 に移行するとき、ポーリング取得元のあるコネクタ (File Connector など) に移行できます。その場合、スケジューラー設定を直接ポーリング取得元に含めることができます。
<flow name="poll>
<quartz:inbound-endpoint name="quartzInboundEndpoint"
cronExpression="0/3 * * * * ?" jobName="cronJob">
<quartz:endpoint-polling-job>
<quartz:job-endpoint address="sftp://.../~/data" />
</quartz:endpoint-polling-job>
</quartz:inbound-endpoint>
<flow-ref name="doProcess" />
</flow>
<flow name="poll>
<sftp:listener config-ref="inboundEndpointConfig" directory="data">
<scheduling-strategy>
<cron expression="0/3 * * * * ?"/>
</scheduling-strategy>
</sftp:listener>
<flow-ref name="doProcess" />
</flow>