You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Subhankar Biswas (JIRA)" <ji...@apache.org> on 2016/06/06 06:49:01 UTC

[jira] [Commented] (FLINK-3769) RabbitMQ Sink ability to publish to a different exchange

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

Subhankar Biswas commented on FLINK-3769:
-----------------------------------------

IMO user should be able to build different configuration for queue in both sink and source side. So if we can able to build some configuration for queue like this connection configuration:
https://github.com/subhankarb/flink/blob/670e92d0731652563fd58631107e0f19c5d5d9a1/flink-streaming-connectors/flink-connector-rabbitmq/src/main/java/org/apache/flink/streaming/connectors/rabbitmq/common/RMQConnectionConfig.java
and then pass to sink and source and declare queue based on this config, user will have more options to pass configurations.
I will start work on this once FLINK-3763 will get merged. 


> RabbitMQ Sink ability to publish to a different exchange
> --------------------------------------------------------
>
>                 Key: FLINK-3769
>                 URL: https://issues.apache.org/jira/browse/FLINK-3769
>             Project: Flink
>          Issue Type: Improvement
>          Components: Streaming Connectors
>    Affects Versions: 1.0.1
>            Reporter: Robert Batts
>            Assignee: Subhankar Biswas
>              Labels: rabbitmq
>
> The RabbitMQ Sink can currently only publish to the "default" exchange. This exchange is a direct exchange, so the routing key will route directly to the queue name. Because of this, the current sink will only be 1-to-1-to-1 (1 job to 1 exchange which routes to 1 queue). Additionally, I believe that if a user decides to use a different exchange I think the following can be assumed:
> 1.) The provided exchange exists
> 2.) The user has declared the appropriate mapping and the appropriate queues exist in RabbitMQ (therefore, nothing needs to be created)
> RabbitMQ currently provides four types of exchanges. Three of these will be covered by just enabling exchanges (Direct, Fanout, Topic) because they use the routingkey (or nothing). 
> The fourth exchange type relies on the message headers, which are currently set to null by default on the publish. These headers may be on a per message level, so the input of this stream will need to take this as input as well. This forth exchange could very well be outside of the scope of this Improvement and a "RabbitMQ Sink enable headers" Improvement might be the better way to go with this.
> Exchange Types: https://www.rabbitmq.com/tutorials/amqp-concepts.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)