GitHub user pduveau opened a pull request:
https://github.com/apache/flink/pull/5410
[FLINK-8468] [RabbitMQ Connector] Take advantage of AMQP features
## The purpose of the change
To extend the Sink Connector to take full advantage of AMQP features. The
AMQP Message sent can :
- receive headers computed using the incoming data,
- be published to a computed exchange,
- be routed with a computed routing key.
This is done while using a new constructor. The existing constructor was
not modified for compatibility but the queue creation on setup can be disabled
by configuration.
## Change log
A interface class is added to define methods to compute the three different
parameter listed above.
A new constructor is added to the Sink class that takes an implemented
object of this interface as parameter.
Using this new constructor also disable the queue creation (queueName
attribute is null)
## Verifying this change
This change added tests and can be verified as follows:
- a new test class build on existing one is provided
- the test cover the new mechanisms for the three publishing parameter.
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): no
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: no
- The serializers: no
- The runtime per-record code paths (performance sensitive): no
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Yarn/Mesos, ZooKeeper: no
- The S3 file system connector: no
## Documentation
- Does this pull request introduce a new feature? yes
- If yes, how is the feature documented? JavaDocs
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/pduveau/flink Extended_RabbitMQ_Connector
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/5410.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #5410
----
commit 64072b1c8e6cc0af3203ffff61bd518ca4b0ed50
Author: Philippe Duveau <philippe.duveau@...>
Date: 2018-02-04T00:15:25Z
[FLINK-8468] Make the connector to take advantage of AMQP features (routing
key, exchange and message properties)
commit 388278eb5ed8e8330d6c23555d81d87bc12dc8fd
Author: Philippe Duveau <philippe.duveau@...>
Date: 2018-02-04T10:10:04Z
[FLINK-8468] Make the connector to take advantage of AMQP features (routing
key, exchange and message properties) and Test
commit eec3504c29e1f48d535a2fc65423fa5ccfe8985e
Author: Philippe Duveau <philippe.duveau@...>
Date: 2018-02-04T10:28:44Z
[FLINK-8468] Make the connector to take advantage of AMQP features (routing
key, exchange and message properties) and Test
commit c900f507690ddaa7ec9734e5002fe1bc2494c5da
Author: Philippe Duveau <philippe.duveau@...>
Date: 2018-02-04T10:37:53Z
[FLINK-8468] Make the connector to take advantage of AMQP features (routing
key, exchange and message properties) and Test
----
---