que tienen una tarea programada como tal:¿Cómo funciona realmente el tamaño del grupo con las tareas programadas de Spring?
<task:scheduler id="notification.scheduler" pool-size="15" />
<task:scheduled-tasks scheduler="notification.scheduler">
<task:scheduled ref="notificationProcessor" method="sendNextQueueEvent" fixed-rate="500" />
<task:scheduled ref="notificationProcessor" method="deleteNextCompletedEvent" fixed-rate="60000" />
</task:scheduled-tasks>
creo que tengo una mala comprensión de cómo funcionan las tareas programadas con el tamaño de la piscina. A pesar de que el tamaño de grupo es 15, parece que solo se está usando un subproceso. Por ejemplo, si tengo quince eventos en la cola, creo que habría quince hilos revisando cada minuto para eliminar un evento de la cola. Obviamente, esto está mal.
¿Cómo puedo hacer que haya quince hilos llamando a este método para el intervalo de tiempo usando la abstracción del planificador de Spring?
Editar: Lo que quiero lograr es esto: cada medio segundo, quiero verificar si hay eventos en cola para enviar. Cuando se hace esto, quiero enviar un máximo de 15 (si 15 existen). ¿Cómo podría lograr esto usando las abstracciones de primavera para las cosas del hilo de Java?
Si tengo cuatro núcleos, ¿no deberían existir al menos cuatro hilos? Solo veo uno. Si tengo cien eventos en mi cola, cuando se inicia este planificador, ¿no debería ver inmediatamente cuatro llamadas de sendNextQueueEvent, una de cada cadena? – AHungerArtist
Cuatro es la cantidad máxima de _actuales hilos activos_ que puede tener; no es la configuración predeterminada inicial. Ver las llamadas también depende de diferentes elementos, como el modelo de concurrencia de la cola que utiliza para los eventos y la tasa/período con el que se ejecuta la tarea. Espero que esto ayude. – nobeh