oldConsumerHolder.getConsumer()已经执行close(),可为何还要assign()
xinzhuxiansheng opened this issue · 0 comments
xinzhuxiansheng commented
//已经close
closeConsumer(oldConsumerHolder);
ConsumerHolder newConsumerHolder = getOrAddConsumer(topicId);
if (oldConsumerHolder.getAssignments() != null) {
newConsumerHolder.setAssignments(oldConsumerHolder.getAssignments());
// oldCOnsumerHolder.getConsumer() 没必须要assign了吧,作者,这里是笔误? 有点没太明白
oldConsumerHolder.getConsumer().assign(oldConsumerHolder.getAssignments());
} else if (oldConsumerHolder.getConsumerRebalanceListener() != null) {
newConsumerHolder.setConsumerRebalanceListener(oldConsumerHolder.getConsumerRebalanceListener());
newConsumerHolder.getConsumer().subscribe(Arrays.asList(topicId),
oldConsumerHolder.getConsumerRebalanceListener());
} else {
newConsumerHolder.getConsumer().subscribe(Arrays.asList(topicId));
}