Время выполнения первого задания планировщика Spring
После небольшого исследования планировщика и исполнителя задач 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 такого атрибута нет.