Estoy tratando de entender cómo implementar el subproceso en una aplicación Java que utiliza Spring para la administración de transacciones. Encontré la sección TaskExecutor en el Spring documentation, y ThreadPoolTaskExecutor parece que se ajusta a mis necesidades;¿Algún buen hilo de resorte con ejemplos de TaskExecutor?
ThreadPoolTaskExecutor
Esta aplicación sólo se puede utilizar en un entorno Java 5, pero también es el más comúnmente utilizado uno en ese entorno. Expone propiedades de beans para configurar un java.util.concurrent.ThreadPoolExecutor y lo envuelve en un TaskExecutor. Si necesita algo avanzado, como un ScheduledThreadPoolExecutor, se recomienda utilizar un ConcurrentTaskExecutor.
Sin embargo, no tengo ni idea de cómo usarlo. He estado buscando buenos ejemplos por un tiempo sin suerte. Si alguien puede ayudarme, lo agradecería.
Creo que mi problema es pensar que esto es más complejo, entonces es. Vi http://docs.huihoo.com/javadoc/spring/2.0/org/springframework/scheduling/concurrent/ThreadPoolTaskExecutor.html#createQueue(int) y asumí que ThreadPoolTaskExecutor tenía un mecanismo de cola incorporado. –
Tal vez no me he confundido, ¿para qué es QueueCapacity? Todavía siento que me falta algo aquí. –
Si la capacidad de cola es mayor que 0, crea una cola, de modo que las tareas que activa un TaskExecutor en particular pueden esperar hasta que haya un subproceso disponible desde el grupo. La capacidad indica cuántos espacios hay en la cola. Si la cola se llena, el ejecutor bloqueará (es decir, el método de ejecución no volverá hasta que se abra un espacio). Aquí está el documento en la cola: http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/LinkedBlockingQueue.html –