2017-01-05 9 views
3

Поведение по умолчанию wireTap и multicast в Camel по умолчанию похоже. Это и то, и другое помогает обрабатывать одно и то же сообщение по-разному. Тогда в чем основное различие между wireTap и многоадресной рассылкой?В чем разница, связанная с переадресацией и многоадресной рассылкой в ​​Apache Camel

ответ

2

@Srikanth -

Я не думаю, что вы можете достичь параллелизм с помощью прослушку

Это не совсем правильно. Параллелизм будет осуществляться с помощью WireTap, а также с многоадресной рассылкой с параллельной обработкой.

Основная цель WireTap. В качестве примера для ведения журнала или аудита вне основного потока, чтобы не замедлить основной поток для нефункциональных операций.

Разница:

  • подслушивания является "односторонний вилкой". Сообщение отправляется на проводную конечную точку в другом потоке, параллельном главному, и нет способа вернуть ответ от него к основному потоку.

    Также можно послать к проволочному отводу конечной точке другой, чем основной корпус, заголовки и т.д.

  • С Multicast можно «разделить-то-заполнитель» привожу к основному потоку после параллельной или последовательной обработка.

    Также не ограничено, сколько конечных точек будет многоадресным, в то время как WireTap может иметь только одну конечную точку для отправки.

0

Multicat: Multicast EIP допускает параллелизм при отправке копии того же сообщения нескольким получателям.

WireTap: Wire Tap (из шаблонов EIP) позволяет маршрутизировать сообщения в отдельное место, пока они отправляются в конечный пункт назначения.

Я не думаю, что вы можете достичь параллелизма, используя wireTap для отправки сообщения параллельно нескольким получателям.

0

Компонент wireTap отправляет сообщение только одному маршруту, пока основной поток продолжается.

Маршрутизатор многоадресной рассылки отправляет сообщение по нескольким маршрутам и ожидает, что все они будут продолжены до того, как основной поток может продолжить следующий процессор сообщений.

В случае старого и устаревшего многоадресного маршрутизатора это происходит синхронно, что означает, что основной поток должен ждать суммы всех времен выполнения маршрутов.

В 3.5 был введен новый многоадресный маршрутизатор, который делает то же самое, но параллельно, делая основной поток только для самого медленного маршрута.

 Смежные вопросы

  • Нет связанных вопросов^_^