¿Cómo ChunkMessageChannelItemWriter recoger respuestas en la primavera de lote remoto de fragmentación?
-
21-12-2019 - |
Pregunta
Estoy tratando de implementar remoto de fragmentación en la primavera de lotes mediante la primavera de integración y amqp (rabbitmq).
Yo no soy capaz de entender cómo funciona ChunkMessageChannelItemWriter recoger respuestas en remoto fragmentación de la prueba a continuación
¿Cómo funciona ?Hace es enviar un mensaje, espere su respuesta, recibe su respuesta y, a Continuación, de nuevo segundo mensaje, espere a que el segundo mensaje de respuesta y recibe el segundo mensaje de respuesta, y así sucesivamente ?
O envía todos los mensajes de forma asíncrona y espere las respuestas y, a continuación, recibe respuestas como se llega a la respuesta del canal ?
Si nos referimos a remoto chunking documentación aquí
utiliza entrantes y salientes de los adaptadores.Si ChunkMessageChannelItemWriter recibe respuestas ¿por qué necesitamos los adaptadores ?y en el esclavo lado ¿por qué adaptadores y servicio de activador de ambos?
Puede alguien por favor me ayude a entender cómo funciona como su difícil entender a partir de la documentación.
Solución
Que es sólo un caso de prueba - todo lo que se ejecuta localmente - mira la JMS caso de prueba para más ejemplo de la vida real.El canal elemento escritor envía todos los trozos a JMS mediante una salida del adaptador de canal.
El lado remoto (jms escucha contenedor) recibe los trozos, los procesa y envía las respuestas a la replies
cola.
Cada vez que el escritor está llamado a escribir una parte, busca respuestas y se suspende, si es necesario, si el acelerador se sobrepasa el límite.
Cuando todos los trozos son por escrito, en afterStep()
, se espera para el resto de los resultados.
Todo esto funciona de la misma con el local de caso de prueba debido a que el fragmento de controlador escribe las respuestas a una cola de canal.