对于KafkaItemReader轮询超时,默认值为30秒,即使您没有指定。
setPollTimeout的实现如下所示:
/**
* Set a timeout for the consumer topic polling duration. Default to 30 seconds.
* @param pollTimeout for the consumer poll operation
*/
public void setPollTimeout(Duration pollTimeout) {
Assert.notNull(pollTimeout, "pollTimeout must not be null");
Assert.isTrue(!pollTimeout.isZero(), "pollTimeout must not be zero");
Assert.isTrue(!pollTimeout.isNegative(), "pollTimeout must not be negative");
this.pollTimeout = pollTimeout;
}
一般来说,框架会保留0或-1来指定永远,但是正如您所看到的,您不能使用0或-n,因此,似乎没有一种方法可以将KafkaItemTeader设置为无限期轮询。