[
https://issues.apache.org/jira/browse/KAFKA-3616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guozhang Wang updated KAFKA-3616:
---------------------------------
Fix Version/s: (was: 0.10.1.0)
0.10.0.0
> Make kafka producers/consumers injectable for KafkaStreams
> ----------------------------------------------------------
>
> Key: KAFKA-3616
> URL: https://issues.apache.org/jira/browse/KAFKA-3616
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Affects Versions: 0.10.1.0
> Reporter: Yuto Kawamura
> Assignee: Yuto Kawamura
> Labels: api
> Fix For: 0.10.0.0
>
>
> While playing with Kafka Streams I found that there's some cases that we want
> to take control of kafka producer/consumers instantiation inside the
> StreamThread.
> Most significant case is that we have our own impl of kafka Producer which
> was built to provide much reliable message delivery but there's no way to
> inject our own instance into StreamTask ATM.
> Another example is that we wanna observe the result of {{producer.send()}}
> that is done inside the RecordCollector. We can provide our own Callback
> instance but there's no way to inject that callback to RecordCollector again.
> Here I'd like to suggest KafkaStreams giving an interface to inject these
> clients. I considered various approaches to do this like passing them through
> constructor or make instantiation methods overridable but eventually tried to
> simply intorude another argument to the KafkaStreams constructor which is
> responsible for supplying client instances.
> Incomplete PR will be filled up to show changeset in my mind, so please give
> me feedbacks. Will follow-up PR quickly if I get positive feedback.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)