Active MQ无法在Apache Camel下运行

Jam*_*Fox 0 java activemq-classic apache-camel

尝试连接到Active MQ上的队列时,我收到以下错误消息.

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.
Run Code Online (Sandbox Code Playgroud)

下面的Camel XML中的AMQ bean声明.已经工作了好几个月但现在已经停止了.

<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>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Jam*_*Fox 5

原因是Camel版本在项目中已从2.16更改为2.18,因此bean声明也需要更改,同时显式定义Connection Factory.

从:

<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" />
Run Code Online (Sandbox Code Playgroud)

至:

<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>
Run Code Online (Sandbox Code Playgroud)