2015-03-26 6 views
2

В одном из проектов верблюда, который я загрузил с сайта верблюда Apache - в camel-context.xml Я вижу маршруты, cxf, active mq, определенные и используемые для отправки и получения сообщений. Если все эти компоненты могут быть построены БЕЗ использования FUSE, а верблюд можно запустить автономно - в каком сценарии/случае использования будет использоваться FUSE?Понимание верблюда и плавкого предохранителя

В моем проекте требование состоит в том, чтобы все запросы веб-сервисов от Клиента проходили через FUSE для его асинхронности (мой ясщик упоминает FUSE каждый раз). Если это можно сделать с помощью верблюда в одиночку - я пытаюсь понять, где находится FUSE здесь - по моему пониманию, мне не нужен FUSE?

ответ

2

Apache Camel - это, по существу, библиотека, которая может использоваться другими приложениями, серверами и т. Д. Вы можете, например, использовать верблюд Apache в своем приложении Java для создания клиента веб-служб или встраивать его в приложение WAR, веб-сайт для чтения с FTP-сайта, а затем преобразовать его в другое сообщение.

Что вам нужно, чтобы понять это. Apache Camel нужно использовать где-то, где он не предназначен для самостоятельного запуска. Таким образом, ему нужен какой-то контейнер времени выполнения для отображения контекста Camel.

Предохранитель - это контейнер времени выполнения, который запускает и управляет Apache Camel. Предохранитель - это ESB, и здесь работает верблюд apache, поскольку ESB обычно является вашей точкой интеграции, а Camel - интеграционной библиотекой. Вы можете узнать больше об этом in this answer.

1

Apache Camel - это фреймворк или инструментарий, который использует другие фреймворки, для обработки и позволяет разработчику с простым языком dsl описать, что вы хотите сделать. Это аспект развития.

Конечно, приложение должно работать так же, как вам нужно, среда выполнения. Это может быть простая банка, или в случае Fuse, контейнера osgi. Хорошей частью контейнера osgi является то, что вы получаете доступ к параметрам и функциям, которые вам недоступны. Вы можете просматривать развернутые решения, проверять журналы, запускать и останавливать потоки и многие другие.

Camel - это структура, которая описывает, как работает приложение. Предохранитель находится там, где он может работать.

0

Предохранитель - это контейнер. Например, вы можете построить комплект и не использовать верблюд apache. Предположим, вы хотите напечатать «Hello», поэтому вам не нужно импортировать верблюд apache. Но если вы хотите использовать функции esb в своем проекте, такие как print Hello, когда что-то происходит, вам нужно импортировать библиотеку верблюдов apache.