You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Dmitry Volodin (JIRA)" <ji...@apache.org> on 2018/07/13 15:20:00 UTC

[jira] [Assigned] (CAMEL-12624) ActiveMQ Artemis AMQP integration issue with topic prefix hardcode

     [ https://issues.apache.org/jira/browse/CAMEL-12624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dmitry Volodin reassigned CAMEL-12624:
--------------------------------------

    Assignee: Dmitry Volodin

> 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
>            Assignee: Dmitry Volodin
>            Priority: Minor
>
> 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}
> @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}
> Workaround:
> {code}
> @Bean
> public ConnectionFactory amqpConnectionFactory() {
>     return new JmsConnectionFactory(username, password, url);
> }
> {code}
>  
>  
>  
>  



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