我一直在使用Apache Kafka
,并且能够在Ubuntu
服务器上发布和使用消息。所以基本上我有我的发布者Java程序&另一方面,我有我的消费者Java程序。
我现在提供消费者class的源代码。我对scheduling
有一些了解,例如Threads
和TimerTask
。在源代码中,我使用一段时间重复打印消息。
我想知道的是,如何打印,消息的数量(即:消息的数量)已在3秒内消耗掉。当我发布消息时,我做了类似的事情:
TimerTask tasknew = new TimerTask() {
@Override
public void run() {
System.out.println("count : "+ count);
count = 0;
for (int i = 1; i < 2100; i++) {
count = count + 1;
String ip = "192.168.2." + rnd.nextInt(255);
String msg = " testing ";
KeyedMessage<String, String> data = new KeyedMessage<String, String>("Games", ip , msg);
producer.send(data);
}
}
};
Timer timer = new Timer();
timer.schedule(tasknew, 100, 3000);
所以基本上它的作用是每三秒打印700条消息。当我消费的时候,我也需要做同样的事情。但是要显示在3秒的时间内消耗的消息数量。
我该如何解决?任何帮助,将不胜感激。