Один из блогов, за которыми я следую, принадлежит
Гуннару Хиллерту , который еще в 2009 году открыл для себя Верблюда и написал хорошую
запись в блоге . Он также провел некоторое исследование
альтернатив Camel . Одной из альтернатив является Spring Integration. С тех пор Гуннар присоединился к VMWare, чтобы стать частью команды Spring.
Итак, сегодня утром я прочитал новое сообщение в блоге от Gunnar о том, как создать проект Spring Integration в инструментах STS, которое размещено
здесь . STS создает простой готовый пример, который предоставляет следующий XML (на скриншоте) в качестве основной логики. Найдите минутку, чтобы посмотреть, сможете ли вы понять, что она делает. А затем сравните с приведенным ниже примером верблюда.
Spring Integration — Простой пример, созданный инструментами STS |
И вот пример Camel с использованием XML:
Apache Camel — тот же пример, что и выше |
Имея оба скриншота, я думаю, вы можете понять, что пример:
- читает ввод с консоли
- верхний регистр вход
- и печатает его обратно на консоль
Этот пример будет предоставлен сразу после установки в 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.