在对spring任务调度程序和任务执行程序进行一些研究后,我发现下面的spring config会每秒运行myTask.run方法。
<bean id="myTask" class="com.amazon.path.to.MyTask"/>
<task:scheduled-tasks scheduler="myScheduler">
<!--run once every second-->
<task:scheduled ref="myTask" method="run" fixed-rate="1000"/>
<!--alternatively, run constantly, waiting one second after each run finished to start the next-->
<!--<task:scheduled ref="myTask" method="run" fixed-delay="1000"/>-->
</task:scheduled-tasks>
<task:scheduler id="myScheduler" pool-size="1"/>
我想确切地知道第一次调用myTask.run的时间。在文档中没有提到它。我提到了Spring XSD。元素“task:scheduler”创建ThreadPoolTaskScheduler的实例,它来自Spring Doc有方法
scheduleAtFixedRate(Runnable task, Date startTime, long period)
具有startTime参数。但是在上面的 XSD 参考中,没有这样的属性。