2016-12-06 3 views
0

Beim Versuch, eine Verbindung zu einer Warteschlange auf Active MQ herzustellen, erhalte ich die folgende Fehlermeldung.Active MQ funktioniert nicht unter Apache Camel

Failed to create route ...because of Failed to resolve endpoint: amq://queue:ROBOMQ.TO.MPM due to: Password must also be provided when using username/password as credentials. 

Die Deklaration für die AMQ Bean in der Camel XML unten. Das funktioniert seit vielen Monaten, aber jetzt hat es aufgehört.

<bean id="amq" class="org.apache.activemq.camel.component.ActiveMQComponent"> 
    <property name="brokerURL" value="tcp://127.0.0.1:61616" /> 
    <property name="userName" value="${username}" /> 
    <property name="password" value="${password}" /> 
</bean> 

Irgendwelche Ideen?

Antwort

4

Der Grund ist, dass die Camel-Version innerhalb des Projekts von 2,16 auf 2,18 geändert wurde und somit auch die Bean-Deklaration geändert werden muss, wobei die Connection Factory explizit definiert wird.

AB:

<bean id="amq" class="org.apache.activemq.camel.component.ActiveMQComponent"> 
    <property name="brokerURL" value="tcp://127.0.0.1:61616" /> 
    <property name="userName" value="system" /> 
    <property name="password" value="manager" /> 

TO:

<bean id="amq" class="org.apache.activemq.camel.component.ActiveMQComponent"> 
    <property name="connectionFactory"> 
     <bean class="org.apache.activemq.ActiveMQConnectionFactory"> 
     <property name="brokerURL" value="tcp://127.0.0.1:61616" /> 
     <property name="userName" value="system" /> 
     <property name="password" value="manager" /> 
     </bean> 
    </property> 
    </bean>