2011-03-01 10 views
5

Quiero configurar una aplicación de integración de muelles de modo que si pongo una cantidad de tareas, cada una representada por un mensaje, en un canal, luego uno de un grupo de puntos finales seleccionará la siguiente tarea y la procesará. Esto supondría un poco de servicio de ejecutor de grupo de subprocesos, supongo.Compitiendo Consumidores

Respuesta

6

Sí, use un dispatcher + task executor con el canal (aka ExecutorChannel). De esta forma, cualquier punto final (por ejemplo, service-activator) que consuma desde el canal se invocará de forma asíncrona utilizando el grupo de subprocesos del asignador.

En el siguiente ejemplo, cualquier mensaje que aterrice en el canal channel01 será consumido por el servicio jobLauncher dentro de uno de los hilos taskExecutor.

<int:channel id="channel01"> 
    <int:dispatcher task-executor="taskExecutor"> 
</int:channel> 

<task:executor id="taskExecutor" pool-size="2"/> 

<int:service-activator input-channel="channel01" ref="jobLauncher"> 
Cuestiones relacionadas