Robert Batts created FLINK-3769:
-----------------------------------

             Summary: 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


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.



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

Reply via email to