0

我有一个 mule 应用程序,它生成单个 xml 文件并根据查询将它们放在一个文件夹中,现在我想创建汇总报告,其中将包含来自各种单独报告的数据。由于服务是随机运行的,因此我想确保延迟生成汇总报告,以便在调用汇总报告服务之前所有单个文件都存在。是否可以在服务上设置计时器?

4

2 回答 2

0

您可以使用quartz 在mule 中调度流的执行。用户 cron 表达式可根据您的需要自定义计划。这是使用石英调度程序的流程示例 -

<flow name="resendFailedMessages">
<description>   
    "*/15 07-18 * * ?" run every 15 minutes from 7 am to 6 pm every day -->
</description>
<quartz:inbound-endpoint jobName="hostRedeliveryJob" cronExpression="*/15 07-18 * * ?">
    <quartz:endpoint-polling-job>
        <quartz:job-endpoint ref="redeliverToHost" />
    </quartz:endpoint-polling-job>
</quartz:inbound-endpoint>
<set-variable variableName="hostXML" value="#[payload]" />
<logger message="QUARTZ found message for host" level="INFO" />
<flow-ref name="webServiceCall" />
<flow-ref name="inspectWSResponse" />
<exception-strategy ref="retryExceptionStrategy" />

还要检查一下 - https://github.com/ddossot/mule-in-action-2e/blob/master/chapter07/src/main/app/quartz-config.xml

于 2013-04-24T14:48:31.577 回答
0

似乎是聚合的候选者:http: //blogs.mulesoft.org/asynchronous-message-processing-with-mule/

于 2013-04-24T14:23:25.027 回答