2015-04-09 5 views
0

Я пытаюсь построить простой маршрут 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> 
+0

Если вы хотите подключиться к локальному брокеру, вы можете опустить декларацию «activemq». В JBoss Fuse 6.1 есть пример, см. Под быстрым стартом - есть пример JMS, который использует ActiveMQ + Camel. –

+0

Когда вы пишете объявление '' activemq ', вы имеете в виду в '' и' 'элементах внутри элемента' '? Спасибо за полезный ответ! – user3870315

ответ

1

Вы должны использовать ту же версию Apache Camel, что и JBoss Fuse. Верблюд 2.15.x еще не поддерживается, это требует выхода JBoss Fuse 6.2.

Вы можете использовать инструмент Fuse IDE для создания проекта Fuse, который использует правильную версию Camel.

Альтернативой для регулировки pom.xml, который, который архетип generted, к той же версии Camel, что Плавкие корабли. Вы можете найти версию Camel из оболочки Fuse, набрав list и найти строку camel-core, которая должна печатать версию.

+0

Я попробовал ваш «альтернативный» метод, так как кривая обучения Fuse IDE довольно сложна, и я все еще получаю, что Blueprint - [Failure] при запуске пакета. Спасибо за то, что вы угадали, что происходит с моей программой, хотя Клаус. : D – user3870315

+0

Вы можете попробовать посмотреть в файле журнала в файле data/logs/fuse.log. Или используйте журнал: отображение из оболочки - последний показывает только 1000 строк (я думаю) –

+0

Он работает при копировании файла cfg.xml, упомянутого в «быстрый запуск» jms, в папку etc и удаления элемента bean с идентификатором id = activemq'. :) Спасибо вам за помощь. Может быть, упомянуть об этом в вашем ответе за какую-то твердую помощь, чтобы какой-то бедный запутанный программист выбрался? : D – user3870315

Смежные вопросы