这里写目录标题
- 1 内存泄露
- 2 生产者报错
1 内存泄露
-
错误信息
反复执行:创建消费者->关闭消费者后,内存缓慢上升且GC不能回收内存 -
错误原因
关闭消费者需要执行KafkaConsumer#close()函数
public void close() {this.close(Duration.ofMillis(30000L));}public void close(Duration timeout) {if (timeout.toMillis() < 0L) {throw new IllegalArgumentException("The timeout cannot be negative.");} else {this.acquire();try {if (!this.closed) {this.close(timeout.toMillis(), false);}} finally {this.closed = true;this.release();}}}
- 解决方案
2 生产者报错
- 错误信息:org.apache.kafka.common.config.ConfigException: Invalid value org.apache.kafka.common.serialization.StringSerializer for configuration key.serializer: Class org.apache.kafka.common.serialization.StringSerializer could not be found.
- 错误原因
- 解决方案
创建生产者之前添加代码
Thread.currentThread().setContextClassLoader(null);