Как построить шаблон eip патрубков и фильтров с помощью apache-camel

Я пытаюсь сделать PoC для реализации паттерна eip каналов и фильтров с помощью Apache Camel.

Из документации Camel я предполагаю, что каждый фильтр должен быть реализован как конечная точка ("С помощью Camel вы можете разделить обработку по нескольким независимым экземплярам конечной точки, которые затем могут быть объединены в цепочки".)

Итак, если я правильно понял, фильтр Authenticate (из примера) должен реализовывать интерфейс Endpoint.

"Проблема" в том, что я не хочу "изобретать велосипед". Таким образом, вместо реализации интерфейса с нуля, я почти уверен, что могу использовать уже реализованный. И один из них - BeanEndpoint.

Это правильно?

Я нашел несколько примеров паттернов каналов и фильтров ( таких как этот), но ни один из них не показал, как реализовать бины.

Может ли кто-нибудь предоставить пример реализации компонента?

ТИА,

боб

2 ответа

EIP Camel перечислены здесь, и у них всех есть примеры и еще много чего. http://camel.apache.org/eip

Так что для каналов и фильтров вы можете найти их по этой ссылке и увидеть некоторые примеры http://camel.apache.org/pipes-and-filters.html

И, кажется, вы новичок в Camel. Тогда я предлагаю прочитать эту вступительную статью, чтобы разобраться с верблюдом: http://java.dzone.com/articles/open-source-integration-apache

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

Таким образом, в случае, если вам нужно реализовать пользовательский фильтр в соответствии с вашими требованиями, используйте интерфейс процессора.

По сути, напишите класс (скажем, CustomProcessor), который реализует процессор Camel, и напишите свою собственную стратегию фильтрации. Затем вызовите его в вашем маршруте как ("CustomProcessor").

Страница Процессор наверняка очистит все ваши проблемы, поэтому, пожалуйста, посмотрите.

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

Спасибо.

Другие вопросы по тегам