现在有两个问题想问一下:1. 假如说同一时间触发了好几个job,那么如何设置这几个job的优先级,quartz_jobs.xml中代码如:
<job>
<job-detail>
<name>BillingProcessTimer</name>
<group>checker</group>
<job-class>cn.com.carsmart.ws.job.BillingProcessTimer</job-class>
</job-detail>
<trigger>
<cron>
<name>BillingProcessTimer</name>
<group>checker</group>
<job-name>BillingProcessTimer</job-name>
<job-group>checker</job-group>
<cron-expression>0 0/15 * * * ?</cron-expression>
</cron>
</trigger>
</job>
,quartz.properties中代码如:
org.quartz.scheduler.instanceName = BillingScheduler
#org.quartz.scheduler.instanceId = one
org.quartz.scheduler.instanceId = AUTO
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 1
org.quartz.threadPool.threadPriority = 4
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger {1}.{0} fired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy}
org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH:mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9}
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz_job.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true;2.有没有一个时间表达式可以实现,每小时执行一次(但排除每月1号 00:00---08:00)这样的表达式有吗,或者实现思路也可;谢谢,期待您的回复;
<job>
<job-detail>
<name>BillingProcessTimer</name>
<group>checker</group>
<job-class>cn.com.carsmart.ws.job.BillingProcessTimer</job-class>
</job-detail>
<trigger>
<cron>
<name>BillingProcessTimer</name>
<group>checker</group>
<job-name>BillingProcessTimer</job-name>
<job-group>checker</job-group>
<cron-expression>0 0/15 * * * ?</cron-expression>
</cron>
</trigger>
</job>
,quartz.properties中代码如:
org.quartz.scheduler.instanceName = BillingScheduler
#org.quartz.scheduler.instanceId = one
org.quartz.scheduler.instanceId = AUTO
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 1
org.quartz.threadPool.threadPriority = 4
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger {1}.{0} fired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy}
org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH:mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9}
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz_job.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true;2.有没有一个时间表达式可以实现,每小时执行一次(但排除每月1号 00:00---08:00)这样的表达式有吗,或者实现思路也可;谢谢,期待您的回复;
解决方案 »
- 足球实时比分 数据源
- 不定个数多选怎么做?
- ssh整合问题!!!
- form表单的提交方式-post
- java webservice 与数据库交互问题。。急急急。。。
- 请教关于ActionMessage的一个问题,找老师!
- 本人大学肄业 有一定能力 有公司要吗
- jsp分页出错+校验用户名不存在~!
- iReport+jasperreport问题.高手请进!若能解决愿再奉上100分。
- sqoop把数据从mysql导入到hive中报错
- |javamy|Java根据JavaBean的规则却要写成get,set,这样表字段多了看起来不明了,有什么解决方法?有.NET与Java代码比较 谢谢
- |javamy|大家用Hibernate做数据库操作的时候,如何来做数据的增删改日志?
第二个问题,如果没记错的话,quartz的cront格式是秒 分 时 日期 月份 星期
那么可以这样设置 * * 9-23/1 2-31 * *
意思就是除去一号之外,每天9点到23点,每一小时执行一次
你好,第一个问题时碰到这种情况
<job>
<job-detail>
<name>BillingProcessTimer</name>
<group>checker</group>
<job-class>cn.com.carsmart.ws.job.BillingProcessTimer</job-class>
</job-detail>
<trigger>
<cron>
<name>BillingProcessTimer</name>
<group>checker</group>
<job-name>BillingProcessTimer</job-name>
<job-group>checker</job-group>
<cron-expression>0 0/15 * * * ?</cron-expression>
</cron>
</trigger>
</job>
<job>
<job-detail>
<name>AccountAllProcessTimer</name>
<group>checker</group>
<job-class>cn.com.carsmart.ws.job.AccountAllProcessTimer</job-class>
</job-detail>
<trigger>
<cron>
<name>AccountAllProcessTimer</name>
<group>checker</group>
<job-name>AccountAllProcessTimer</job-name>
<job-group>checker</job-group>
<cron-expression>0 0/30 * * * ?</cron-expression>
<!-- <cron-expression>0 0 2 1 * ?</cron-expression> -->
</cron>
</trigger>
</job>
我设定了线程池只能执行一个线程,当两个或者更多的job在同一时间点同时触发的时候,我想设定这个优先顺序,比如一定要先执行第一个,在执行第二个,基于上面设置的有没有设定优先级的方式;
第二个问题,有没有这样的表达式,每月1号9--23点 再加上每月2号--30或31号所有时间每小时执行一次?谢谢您的回复!
第二个问题:把这个拆分成两个任务就可以啦,执行相同的job,只是cront一个设置为:
* * 9-23/1 1 * * ===> 每月1号,9-23点每搁一小时执行一次
一个设置为:* * */1 2-31 * * =====> 每月2-31号,每小时执行一次,不用担心没有30,31号的情况,没有31号就不执行