¿Por qué el programador de tareas de Spring espera a que finalice la tarea anterior?

Tengo la siguiente configuración del programador de tareas:

<bean id="Task" class="foo.bar.Task" />

<bean id="TaskScheduler"
  class="org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler">
    <property name="waitForTasksToCompleteOnShutdown" value="true" />
    <property name="poolSize" value="1000" />
</bean>

<task:scheduled-tasks scheduler="TaskScheduler">
  <task:scheduled ref="Task" method="run" cron="*/5 * * * * *" />
</task:scheduled-tasks>

La tarea solo imprime una línea y duerme durante 10 segundos. Con esta configuración, mi expectativa era que la tarea se ejecutaría cada 5 segundos, independientemente de si la tarea anterior había terminado su ejecución (es decir, dejó de dormir). Pero ese no es el caso, la tarea se ejecuta una vez cada 15 segundos (el tiempo de suspensión y la próxima vez que se golpea el cron).

¿Cómo puedo configurar esto para que la tarea se ejecute cada 5 segundos sin importar si la ejecución anterior terminó?

Respuestas a la pregunta(2)

Su respuesta a la pregunta