Kafkaトピックを正常に読み取り、各メッセージを画面に出力するこのコードを見つけました。画面に印刷するだけでなく、文字列に対して他の操作を実行するように拡張したいと思います。このために、メッセージを反復する while ループで何が起こっているのかを理解したいと思います。it.hasNext() は何をしますか? 次のメッセージまたは新しいメッセージのリストを探しますか。このwhileループから抜け出すのはいつですか?
import kafka.consumer.ConsumerIterator;
import kafka.consumer.KafkaStream;
public class ConsumerTest implements Runnable {
private KafkaStream m_stream;
private int m_threadNumber;
public ConsumerTest(KafkaStream a_stream, int a_threadNumber) {
m_threadNumber = a_threadNumber;
m_stream = a_stream;
}
public void run() {
**ConsumerIterator<byte[], byte[]> it = m_stream.iterator();
while (it.hasNext())**
System.out.println("Thread " + m_threadNumber + ": " + new String(it.next().message()));
System.out.println("Shutting down Thread: " + m_threadNumber);
}
}