camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Willem Jiang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-7673) subscribeTopicName leaks out as a property and used as a destination for mqtt producer, causes infinite delivery
Date Thu, 14 Aug 2014 03:12:12 GMT

    [ https://issues.apache.org/jira/browse/CAMEL-7673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14096496#comment-14096496
] 

Willem Jiang commented on CAMEL-7673:
-------------------------------------

I just take a look at the camel-jms component, it just put the destination into the message
header with "JMSDestination" in the consumer and use "CamelJMSDestination" in the producer,
so it doesn't hit the issue like of mqtt component.

For the camel-rabbitmq, the consumer and producer use the same message header name of "RabbitMQConstants.EXCHANGE_NAME"
and "RabbitMQConstants.ROUTING_KEY" so we use  "bridgeEndpoint" to avoid this kind of issue.

As the mqtt consumer and producer treat the "MQTTTopicPropertyName" differently, I'm +1 for
 consumer and producer use different header name to store the topic,  and we need put that
information into message header instead of exchange property.

> subscribeTopicName leaks out as a property and used as a destination for mqtt producer,
causes infinite delivery
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-7673
>                 URL: https://issues.apache.org/jira/browse/CAMEL-7673
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-mqtt
>    Affects Versions: 2.12.2, 2.14.0
>            Reporter: Tomohisa Igarashi
>            Assignee: Willem Jiang
>
> MQTT consumer sets its subscribeTopicName as a exchange property, and it will be used
by MQTT producer as a destination if it exists in the route.
> If you have a following route:
> {code}
> from("mqtt:input?subscribeTopicName=topicIn")
>         .to("mqtt:output?publishTopicName=topicOut");
> {code}
> MQTT consumer put "topicIn" to "MQTTTopicPropertyName" exchange property, and MQTT producer
uses this property to determine a destination topic to publish. Then MQTT producer ignores
publishTopicName and send a message to "topicIn", so MQTT consumer consumes the message again,
eventually it causes infinite delivery. We need to stop this property to be used as a destination
for producer.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message