2013-09-09 3 views
2

Я использую Mule Studio 3.4 и хочу экспериментировать с Active Mq. Я понял, что ActiveMq встроен в Mule, поэтому нет необходимости добавлять банки в путь к классам, кстати, классы activeMq не могут быть найдены в пути к классам. Где я ошибаюсь? Здесь моя конфигурация (копируется из http://www.mulesoft.org/mule-activemq-integration-examples):Mule - Не удается найти тип org.apache.activemq

<?xml version="1.0" encoding="UTF-8"?> 

<mule xmlns:jms="http://www.mulesoft.org/schema/mule/jms" 
    xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" 
http://www.mulesoft.org/schema/mule/jms http://www.mulesoft.org/schema/mule/jms/current/mule-jms.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd"> 
    <spring:beans> 
    <spring:bean id="AmqDeadLetterStrategy" 
       class="org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy" 
       p:queuePrefix="DLQ." /> 

    <spring:bean id="AmqDefaultPolicyEntry" 
       class="org.apache.activemq.broker.region.policy.PolicyEntry" 
       p:queue="jobs.*" 
       p:deadLetterStrategy-ref="AmqDeadLetterStrategy" /> 

    <spring:bean id="AmqPolicyMap" 
       class="org.apache.activemq.broker.region.policy.PolicyMap" 
       p:defaultEntry-ref="AmqDefaultPolicyEntry" /> 

    <spring:bean name="AmqBroker" 
       class="org.apache.activemq.broker.BrokerService" 
       p:brokerName="esb-amq-broker" 
       p:persistent="true" 
       p:dataDirectory="${activemq.data.dir}" 
       p:useJmx="true" 
       p:useShutdownHook="false" 
       p:destinationPolicy-ref="AmqPolicyMap" 
       init-method="start" 
       destroy-method="stop" /> 

    <spring:bean name="AmqRedeliveryPolicy" 
       class="org.apache.activemq.RedeliveryPolicy" 
       p:useExponentialBackOff="true" /> 

    <spring:bean name="AmqConnectionFactory" 
       class="org.apache.activemq.spring.ActiveMQConnectionFactory" 
       p:brokerURL="vm://esb-amq-broker" 
       p:redeliveryPolicy-ref="AmqRedeliveryPolicy" 
       depends-on="AmqBroker" /> 
    </spring:beans> 

    <jms:activemq-connector name="EsbJmsConnector" 
          specification="1.1" 
          connectionFactory-ref="AmqConnectionFactory" 
          disableTemporaryReplyToDestinations="true" 
          persistentDelivery="true" /> 

</mule> 

Ошибка «Не удается найти тип org.apache.activemq.broker.region.policy.IndividualDeadLetterStrategy на пути сборки проекта ...» и аналогичные другие. Спасибо!

ответ

4

Mule не объединяет банки activemq, ни те, которые нужны для любого брокера JMS, поэтому вам нужно либо добавить его вручную в свой проект, либо в ${studio.home}/plugins/org.mule.tooling.server.${mule.version}_${mule.version}.${time.stamp}/mule/user, если вы хотите, чтобы контейнер предоставил его.

+0

Благодарим за помощь, я загрузил файл activemq-all-5.8.0.jar и поместил его в указанное вами местоположение. У этого есть все классы, необходимые. Я перезапустил eclpise, но все равно получаю те же ошибки. – user1820620

+0

Где вы положили банку? Также вы используете eclipse или студию? – genjosanzo

+0

Я использую студию, если я удаляю атрибут «p: queuePrefix =« DLQ. »В первом компоненте, ошибка не отображается! Pehraps это не связано с самой загрузкой jar – user1820620

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

  • Нет связанных вопросов^_^