Matt created CAMEL-12624:
----------------------------

             Summary: ActiveMQ Artemis AMQP integration issue with topic prefix 
hardcode
                 Key: CAMEL-12624
                 URL: https://issues.apache.org/jira/browse/CAMEL-12624
             Project: Camel
          Issue Type: Bug
          Components: camel-amqp
    Affects Versions: 2.21.1
            Reporter: Matt


Currently we are running Camel AMQP component against Active MQ 5 (Amazon MQ) 
we want to move to an Artemis solution but this hasn't worked seamlessly.

In CAMEL-9204 I believe a hardcoded topic prefix of "topic://" was introduced I 
think for a workaround of an Active MQ 5 bug. 

In Artemis this means Camel connects to a topic named 
"topic://example.topic.event" instead of "example.topic.event" and therefore 
receives no events.

The only possible workaround is to manually create the connection factory which 
means then the topic prefix is not set. 

My believe is that the hardcoded topic prefix is a bug and should be removed or 
an option to override at the AMQP component level should be introduced.

Bug location: AMQPComponent.java line 59
{code:java}
@Override
protected void doStart() throws Exception {
    Set<AMQPConnectionDetails> connectionDetails = 
getCamelContext().getRegistry().findByType(AMQPConnectionDetails.class);
    if (connectionDetails.size() == 1) {
        AMQPConnectionDetails details = connectionDetails.iterator().next();
        JmsConnectionFactory connectionFactory = new 
JmsConnectionFactory(details.username(), details.password(), details.uri());
        connectionFactory.setTopicPrefix("topic://");
        setConnectionFactory(connectionFactory);
    }
    super.doStart();
}{code:java}
Workaround:
{code:java}
@Bean
public ConnectionFactory amqpConnectionFactory() {
    return new JmsConnectionFactory(username, password, url);
}
{code}
 

 

 

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to