我想问一下如何使用石英启动另一个流程。
单独启动每个流程(一个是使用IMAP,另一个是使用Quartz),但是如果可能的话,我希望将它们放在同一个文件中,或者至少在同一个项目中。我不知道这是什么好习惯,所以我让你决定。
因此,Flow1从IMAP开始,用邮件(原始)完成工作,然后转到其他子流。
Flow2从石英开始并完成它的工作(我想添加的那个)
两个流都有相同的变量并且具有相似的工作,但当然不必同步。
现在,我该如何实现这一目标?
我试过了:
<flow name="Flow1" doc:name="Flow1">
<imaps:inbound-endpoint doc:name="IMAP"
host="imap.gmail.com" port="993" responseTimeout="10000"
........
</flow>
<flow name="Flow2" doc:name="Flow2">
<quartz:outbound-endpoint jobName="FlowStarter" repeatInterval="10000" responseTimeout="10000" doc:name="Quartz">
<quartz:event-generator-job groupName="QuartzGenGroup" jobGroupName="QuartzGenGroup">
<quartz:payload>wwqda</quartz:payload>
</quartz:event-generator-job>
</quartz:outbound-endpoint>
<logger message="Quartz started at #[server.dateTime.toCalendar().toString()] #[payload]" level="INFO" doc:name="Logger"/>
</flow>
当我开始这个时,Flow2从未给出任何输出。
我正在使用Mule Studio 3.5.0
谢谢!
答案 0 :(得分:1)
在Flow 2中使用quartz:inbound-endpoint而不是quartz:outbound-endpoint。出站端点不会触发工作流本身。它需要额外的传入事件。
请查看http://2rdscreenretargeting.blogspot.ru/2012/12/how-to-schedule-jobs-using-mule-studio.html,了解有关Mule中Quartz用法的详细信息。