KAKFA实践零碎记录

这里写目录标题

  • 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.
    KAKFA实践零碎记录_第1张图片
  • 错误原因
  • 解决方案
    创建生产者之前添加代码
Thread.currentThread().setContextClassLoader(null);

KAKFA实践零碎记录_第2张图片

你可能感兴趣的:(kafka,kafka)