Как построить шаблон 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").
Страница Процессор наверняка очистит все ваши проблемы, поэтому, пожалуйста, посмотрите.
Также я предполагаю, что вы знаете о шаблоне фильтра сообщений верблюда.
Спасибо.