Mule Quartz Connector在运行数小时后突然终止

时间:2018-01-21 02:58:04

标签: mule quartz-scheduler

My Mule Quartz Connector运行几个小时然后突然终止。我希望这项工作每小时每30分钟连续运行一次。然而,在运行几个小时后它突然终止。我怀疑它与cronExpression有关,但我不确定哪个部分会导致这种情况发生。我觉得cronExpression有一些东西可以实现这一点,因为它只是关闭应用程序以终止进程。 请帮忙!!

这是石英配置:

<quartz:connector name="updateQuartzConnector" validateConnections="true" doc:name="Quartz">
    <receiver-threading-profile maxThreadsActive="1"/>
    <quartz:factory-property key="org.quartz.scheduler.instanceName" value="updateQuartzScheduler"/>
    <quartz:factory-property key="org.quartz.threadPool.class" value="org.quartz.simpl.SimpleThreadPool"/>
    <quartz:factory-property key="org.quartz.threadPool.threadCount" value="1"/>
    <quartz:factory-property key="org.quartz.scheduler.rmi.proxy" value="false"/>
    <quartz:factory-property key="org.quartz.scheduler.rmi.export" value="false"/>
    <quartz:factory-property key="org.quartz.jobStore.class" value="org.quartz.simpl.RAMJobStore"/>
</quartz:connector>

以下是使用上述石英配置的流程:

 <flow name="processClientData" tracking:enable-default-events="true" processingStrategy="synchronous">
   <quartz:inbound-endpoint responseTimeout="10000" doc:name="30 minutes past hour" cronExpression="0 30/30 0/1 * * ?" 
         jobName="ProcessClientUpdates" repeatInterval="0" connector-ref="updateQuartzConnector">
   <quartz:event-generator-job/>
   </quartz:inbound-endpoint>
   <flow-ref name="process.client.data" />
</flow>

我展示了部分流程,虽然这部分工作正常:

 <flow name="process.client.data" processingStrategy="synchronous">
  <db:select config-ref="ORACLE_CONFIG" doc:name="Check Customer existence in Database">
   <db:parameterized-query><![CDATA[SELECT first_name,last_name,email FROM contact 
     WHERE email=#[payload.email]]]></db:parameterized-query>
   </db:select>
    <enrich source="#[payload.size() > 0]" target="#[recordVars['exists']]"/>
    <enrich source="#[payload]" target="#[recordVars['dbRecord']]"/>
.......
 </flow>    

请帮助解决此问题

1 个答案:

答案 0 :(得分:0)

cron表达式应为0 30/30 * * *?