Поведение по умолчанию wireTap и multicast в Camel по умолчанию похоже. Это и то, и другое помогает обрабатывать одно и то же сообщение по-разному. Тогда в чем основное различие между wireTap и многоадресной рассылкой?В чем разница, связанная с переадресацией и многоадресной рассылкой в Apache Camel
ответ
@Srikanth -
Я не думаю, что вы можете достичь параллелизм с помощью прослушку
Это не совсем правильно. Параллелизм будет осуществляться с помощью WireTap, а также с многоадресной рассылкой с параллельной обработкой.
Основная цель WireTap. В качестве примера для ведения журнала или аудита вне основного потока, чтобы не замедлить основной поток для нефункциональных операций.
Разница:
подслушивания является "односторонний вилкой". Сообщение отправляется на проводную конечную точку в другом потоке, параллельном главному, и нет способа вернуть ответ от него к основному потоку.
Также можно послать к проволочному отводу конечной точке другой, чем основной корпус, заголовки и т.д.
С Multicast можно «разделить-то-заполнитель» привожу к основному потоку после параллельной или последовательной обработка.
Также не ограничено, сколько конечных точек будет многоадресным, в то время как WireTap может иметь только одну конечную точку для отправки.
Multicat: Multicast EIP допускает параллелизм при отправке копии того же сообщения нескольким получателям.
WireTap: Wire Tap (из шаблонов EIP) позволяет маршрутизировать сообщения в отдельное место, пока они отправляются в конечный пункт назначения.
Я не думаю, что вы можете достичь параллелизма, используя wireTap для отправки сообщения параллельно нескольким получателям.
Компонент wireTap отправляет сообщение только одному маршруту, пока основной поток продолжается.
Маршрутизатор многоадресной рассылки отправляет сообщение по нескольким маршрутам и ожидает, что все они будут продолжены до того, как основной поток может продолжить следующий процессор сообщений.
В случае старого и устаревшего многоадресного маршрутизатора это происходит синхронно, что означает, что основной поток должен ждать суммы всех времен выполнения маршрутов.
В 3.5 был введен новый многоадресный маршрутизатор, который делает то же самое, но параллельно, делая основной поток только для самого медленного маршрута.