Статьи

Создание Spring Spring Project VS. Создание проекта Apache Camel


Один из блогов, за
которыми я следую, принадлежит
Гуннару Хиллерту , который еще в 2009 году открыл для себя Верблюда и написал хорошую
запись в блоге . Он также провел некоторое исследование
альтернатив Camel . Одной из альтернатив является Spring Integration. С тех пор Гуннар присоединился к VMWare, чтобы стать частью команды Spring.

Итак, сегодня утром я прочитал новое сообщение в блоге от Gunnar о том, как создать проект Spring Integration в инструментах STS, которое размещено
здесь . STS создает простой готовый пример, который предоставляет следующий XML (на скриншоте) в качестве основной логики. Найдите минутку, чтобы посмотреть, сможете ли вы понять, что она делает. А затем сравните с приведенным ниже примером верблюда.

Spring Integration — Простой пример, созданный инструментами STS

И вот пример Camel с использованием XML:

Apache Camel — тот же пример, что и выше

Имея оба скриншота, я думаю, вы можете понять, что пример:

  1. читает ввод с консоли
  2. верхний регистр вход
  3. и печатает его обратно на консоль

Этот пример будет предоставлен сразу после установки в Apache Camel 2.10 в каталоге examples / camel-example-console. Вы можете увидеть
исходный код здесь .

Вы можете запустить его из командной строки, используя Maven

mvn compile exec:java

А затем нажмите Ctrl + C, чтобы остановить приложение.

Запуск примера Camel из командной строки

Или вы можете запустить его из выбранной вами IDE, такой как IDEA / Eclipse /
FuseIDE , запустив
класс
CamelConsoleMain . Например, как показано на скриншоте ниже от IDEA.

Запуск примера из вашего редактора, такого как IDEA

Для создания нового проекта Camel вы можете использовать архетипы Camel Maven 
. Или используйте 
Fuse IDE, в  которой есть мастер, похожий на STS, для создания нового проекта Camel.

Несколько заметок о верблюде. В примере используются Spring и XML, однако Camel может использоваться вообще без Spring. Мы могли бы использовать чистую Java и определить маршрут Camel в
классе Java . Вы также можете использовать
Scala . А для XML мы могли бы также использовать
OSGi Blueprint .

В примере мы используем встроенный
язык
Simple для ввода заглавных букв. Вы также можете использовать более мощные
динамические языки, такие как Groovy, OGNL, Mvel, JavaScript и т. Д.

С Camel у вас просто больше возможностей, и вам совсем не нужно использовать XML.