目前需要定时器做一个定时扫描任务的功能,原先都是定时在半个小时,程序跑起来也没事。但是最近公司要求定时时间加长到45分钟,而调整完配置完后发现,程序是在45分钟和整点进行的扫描。
下面是我做的示例时间缩短为45秒
spring。xml配置 如下:
<task:scheduled-tasks>
<task:scheduled ref="MyQuartz" method="sendIncrementTask" cron="0/45 * * * * *" />
</task:scheduled-tasks>
需要调整为
<task:scheduled-tasks>
<task:scheduled ref="MyQuartz" method="sendIncrementTask" fixed-rate="45000"/>
</task:scheduled-tasks>
将cron改成fixed-rate;并根据需要间隔的时间,如45*1000毫秒
ref参数对应类名
method参数对应类中的方法名
initial-delay 是任务第一次被调用前的延时,单位毫秒
fixed-delay 是上一个调用完成后再次调用的延时
fixed-rate 是上一个调用开始后再次调用的延时(不用等待上一次调用完成)
cron 是表达式,表示在什么时候进行任务调度。