KinesisMessageDrivenChannelAdapter
является активным компонентом и выполняет потребление и отправку сообщений в исполнителе задач.Поэтому вы можете подумать, что не следует сдвигать сообщения на QueueChannel
или ExecutorChannel
- логика уже асинхронна и включает достаточно потоков на компьютере.На самом деле гораздо лучше не переносить обработку в отдельный поток, не занимать этот поток потребления и не опрашивать больше записей из Kinesis в памяти.
Один KinesisMessageDrivenChannelAdapter
может, по сути, выполнятьта же работа для нескольких потоков в качестве нескольких отдельных адаптеров для другого потока - будет использоваться емкость потока на машине.
Нам нужны разные адаптеры канала в случае разной логики обработки или разных типов данных, или разного кинезисаВарианты клиента.Во всех остальных случаях достаточно одного экземпляра.