我正在使用Kafka SimpleConsumer的修改版本,根据:https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+SimpleConsumer+Example
将偏移暴露给其他api但是,该示例的行为与shell命令不一致: ./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker ...
因为它有时会起作用,有时它会成功返回嵌入错误。换句话说,检查:
if(response.hasError()){...}
完全没用,因为响应(据其所知)没有错误。但是,如果我进入:
。response.toString()包含("错误&#34)
那么肯定的是,响应中存在错误。错误是:
kafka.common.UnknownException
因此它不知道它有错误,并且一旦取出异常,它就会以IDontKnowWhatWentWrongException的形式表示。再加上这个事实,这种情况间歇地发生在一个可以说是更复杂的对象上(具有讽刺意味的是"简单"消费者),它闻起来很腥。
我错过了一些明显的东西吗?这是一个已知的问题吗?
如果我收到ASF的回复,请在此处发布解决方案。感谢。