В большинстве интеграционных проектов используется обмен сообщениями, поскольку он помогает создавать слабосвязанную архитектуру приложений. Обмен сообщениями может быть синхронным или асинхронным. JMS поддерживает модели « точка-точка» и « публикация-подписка» . Вы используете Очередь для двухточечного и Темы для модели публикации-подписки. На платформе Java JMS — Java Messaging Service предоставляет интерфейс к серверу обмена сообщениями. Apache activeMQ — один из таких провайдеров JMS с открытым исходным кодом. Camel не поставляется с JMS-провайдером; однако его можно настроить на использование activeMQ. Чтобы использовать этот компонент, вам нужно включить в свой проект следующие jar-файлы: activemq, camel-spring и camel-jms.
Следующий фрагмент кода показывает, как настроить Camel для activeMQ.
<bean id = "jms" class = "org.apache.camel.component.jms.JmsComponent"> <property name = "connectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <property name = "orderQueue" value = "tcp://localhost:61000" /> </bean> </property> </bean>
Здесь приложение Camel начнет прослушивать очередь под названием orderQueue . Сама очередь настраивается на сервере сообщений activeMQ, работающем на локальном хосте и включающем порт 61000. После этого ваше приложение может отправлять или получать сообщения в эту очередь с любой из конечных точек, определенных в вашем приложении.
Наконец, настало время собрать все вместе в проекте, чтобы глубже понять, как создаются приложения Camel.