Mohit,
Kafka uses gradle to build the project, check the README.md
under source dir for details on how to build and run unit
tests.
You can find consumer and producer api here
http://kafka.apache.org/documentation.html and also more details on
consumer http://kafka.apache.org/documentation.html#theconsumer
1) Follow request/reply pattern
Incase if you are looking for producers waiting for a reply from
broker if the message is successfully returned , yes there is a
configurable option "request.required.acks" in producer config.
2) Normal pub/sub with multi-threaded consumers
Here is a producer example
https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+Producer+Example
and consumer
https://cwiki.apache.org/confluence/display/KAFKA/Consumer+Group+Example
3) multi threaded consumers with different group ids.
you can use the same consumer group example and use different group
id to run it
https://cwiki.apache.org/confluence/display/KAFKA/Consumer+Group+Example
"I see in some examples that iterator is being used, is there also a
notion of listeners or is everything
iterators?"
Kafka consumer works by making fetch requests to the brokers .There
is no need to place the while loop over the iterator.
ConsumerIterator will take care of it for you. It uses long polling
to listen for messages on the broker and blocks those fetch requests
until there is data available.
hope that helps.
-Harsha
On Fri, Oct 10, 2014, at 12:32 PM, Mohit Anchlia wrote:
> I am new to Kafka and very little familiarity with Scala. I see that the
> build requires "sbt" tool, but do I also need to install Scala
> separately?
> Is there a detailed documentation on software requirements on the broker
> machine.
>
> I am also looking for 3 different types of java examples 1) Follow
> request/reply pattern 2) Normal pub/sub with multi-threaded consumers 3)
> multi threaded consumers with different group ids. I am trying to
> understand how the code works for these 2 scenarios.
>
> Last question is around consumers. I see in some examples that iterator
> is
> being used, is there also a notion of listeners or is everything
> iterators?
> In other words in real world would we place the iterator in a while loop
> to
> continuously grab messages? It would be helpful to see some practical
> examples.