Я пытаюсь построить простой маршрут Camel
, используя JBoss Fuse
и Maven
в основном. Я использую команду mvn archetype:generate
для создания проекта скелета.JBoss Fuse - Maven Archetype Blueprint - Camel - Маршрутизация
Когда в подсказке указано: «Выберите номер или примените фильтр (формат: [groupId:] artifactId, содержит регистр символов): 582:« I type camel
.
Затем я выбираю этот вариант: 49: remote -> org.apache.camel.archetypes:camel-archetype-blueprint (Creates a new Camel project with OSGi blueprint support. Ready to be deployed in OSGi.)
Пожалуйста, смотрите ниже:
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): :
I типа 49
для этой опции.
Для опции Choose org.apache.camel.archetypes:camel-archetype-blueprint version:
Я нажимаю Enter для Camel 2.15.1.
Define value for property 'groupId': :
org.me
Для варианта: Define value for property 'artifactId': :
плавкая ghettoblasting-BluePrint
Для варианта: Define value for property 'version': 1.0-SNAPSHOT: :
1,0
Для варианта: Define value for property 'package': org.me: :
org.me.demo
Я запустил эту команду mvn clean install
, чтобы установить pom.xml и банку в мой локальный репозиторий Maven.
Затем я перейти на консоль JBoss предохранителей и типа:
JBossFuse:[email protected]> osgi:install mvn:org.me/fuse-ghettoblasting-blueprint/1.0
Тогда я получаю расслоение ID: Bundle ID: 389
Когда я типа JBossFuse:[email protected]> list
я вижу сверток, но он говорит Failure
в поле Blueprint, как показано ниже: ID State Blueprint Название уровня пружины `[389] [Active] [Failure] [] [60] Маршрут Camel Blueprint Route (1.0.0)
У меня был подобный опыт при работе с данным руководством: https://codevomit.wordpress.com/2014/12/24/simple-camel-route-in-jboss-fuse/
Этот учебник участвует фактически создание маршрутов в интерфейсе ActiveMQ на локальном хосте работает на порту 8181
Есть ли эксперт там читать это, что знает, что мне не хватает? Почему Blueprint терпит неудачу? Почему сообщение, отправленное из очереди, не регистрируется, как показано в учебнике CodeVomit?
С уважением,
UPDATE
Вот мой исходный код для файла blueprint.xml.
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:camel="http://camel.apache.org/schema/blueprint"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd">
<!-- connect to the local ActiveMQ broker -->
<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="brokerURL" value="tcp://localhost:61616" />
<property name="userName" value="user123" />
<property name="password" value="user123" />
<property></property>
</bean>
<camelContext id="blueprintContext" trace="false" xmlns="http://camel.apache.org/schema/blueprint">
<route id="queue2queue">
<from uri="activemq://source-queue" />
<log message="the message body is: ${body}" loggingLevel="INFO" />
<to uri="activemq://sink-queue" />
</route>
</camelContext>
</blueprint>
Если вы хотите подключиться к локальному брокеру, вы можете опустить декларацию «activemq». В JBoss Fuse 6.1 есть пример, см. Под быстрым стартом - есть пример JMS, который использует ActiveMQ + Camel. –
Когда вы пишете объявление '' activemq ', вы имеете в виду в '' и' 'элементах внутри элемента' '? Спасибо за полезный ответ! –
user3870315