The idea is to contribute part of the work presented here:
Specifically these components:
- update processor that writes updates to an external queueing service (abstracted by an interface)
- a Kafka implementation of this interface (that goes into /contrib?) so anyone using kafka can use this "out of the box"
- a consumer application
For the consumer application, the idea is an app that's queue-agnostic and then the queue-specific consumer bit is loaded at runtime. In this case, there's a "default" kafka consumer in there as well.
I'm not exactly sure what the best structure would be for these pieces (the kafka implementations and the general consumer app code), so I'll simply post class definitions here and let the community decide where they should go.
The core work is finished. I just need to clean it up a bit and convert the tests to fit this repo (right now they're using an external framework).