Я пытаюсь построить простой Camel
маршрут, используя в основном JBoss Fuse
и Maven
. Я использую команду mvn archetype:generate
для создания скелетного проекта.
Когда в приглашении говорится: «Выберите число или примените фильтр (формат: [groupId:] artifactId, с учетом регистра, содержит): 582:» Я набираю 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): :
Я набираю 49
для этого варианта.
Для опции Choose org.apache.camel.archetypes:camel-archetype-blueprint version:
я нажимаю ввод для Camel 2.15.1.
Define value for property 'groupId': :
org.me
Для опции: Define value for property 'artifactId': :
fuse-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 и jar в свой локальный репозиторий Maven.
Затем я перехожу к консоли JBoss Fuse и набираю:
JBossFuse:karaf@root> osgi:install mvn:org.me/fuse-ghettoblasting-blueprint/1.0
Затем я получаю идентификатор пакета: Bundle ID: 389
Когда я набираюJBossFuse:karaf@root> list
, я вижу пакет, но он говорит Failure
в поле Blueprint, как показано ниже: ID State Blueprint Spring Level Name `[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?
С уважением,
ОБНОВЛЕНИЕ
Вот мой исходный код файла 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>
<to>
и<from>
внутри элемента<route>
? Спасибо за полезный ответ! - person user3870315   schedule 12.04.2015