我的程序开三个线程。每个线程无限循环的去kafka取数据。取到数据以后走其他逻辑。如果成功就提交。不成功就不提交。现在发现没有提交的数据,除非重新启动程序,否则是取不到这样未提交的数据的。我想问一下未提交的数据怎么在不重启程序的情况下重新获取到。
本来想是一个线程组。这个线程组里的3个线程去取数据。不管是否获取到数据都会关闭。然后在开新的组程。维持线程组里一直保持3个线程。但这种方法我遇到了不是没有获取到数据。就是获取不全不知道是为什么
还有就是某个partition里的offset 98 99 100。如果我指定offset提交了100这一个。那么前面的98 99是不是也会被提交啊??
我不重启也可以获取。但有时候要等很长时间。且只获取一次。有时候在等了很长时间以后可以获取到几次。不像预想一样。不提交就无限获取到数据。