Changing subject back to DISCUSS.

> On Aug 20, 2018, at 6:52 AM, Jan Filipiak <jan.filip...@trivago.com> wrote:
> 
> Just saying that we should peek at the Samza approach, it's a much more 
> powerful abstraction. We can ship a default MessageChooser
> that looks at the topics priority.


Thanks Jan for your input.

Here’s an attempt at incorporating a Samza MessageChooser type interface.
--
      Nick


New interface TopicPrioritizer allows one to create a method implementation 
that prioritizes topics. The topic priorities that were assigned with method 
KafkaConsumer.subscribe may or may not be used.  The input is the list of 
subscribed topics, and output is ordered list of topics.  The ordering 
represents the priority that the TopicPrioritizer implementation has assigned.  
Calls to KafkaConsumer.poll will use the TopicPrioritizer to determine the 
priority of topics.  

interface TopicPrioritizer {
   List<TopicPriority> prioritize(List<TopicPriority> topicPriorities);
}


New method KafkaConsumer.registerTopicPrioritizer is used to register the 
TopicPrioritizer

  public void registerTopicPrioritizer(TopicPrioritizer topicPrioritizer);


Reply via email to