Apache Pulsar Java 客户端占用过多内存(OOM)
Apache Pulsar Java client taking too much memory (OOM)
我写了一个带有 Spring 引导的简单 Apache Pulsar 客户端 - 一个初始化为 bean 的 Pulsar-producer,它将在其余控制器中用于将传入的 api 消息发布到 Pulsar,以及一个消费者消耗消息,在控制台中打印一些值并确认。
截至目前,应用程序非常简单,但在加载此 spring-boot 应用程序时,我发现内存达到峰值,有时会出现 OOM。使用带有 Spring-boot 的 Pulsar 客户端时是否需要使用任何特定配置?
代码大部分是 Pulsar 文档中找到的代码。
我回答这个问题是为了记录这个问题 - 不要 使用循环来消费消息,而是采用 MessageListener
通过
订阅消费者
consumer.messageListener(new Myconsumer())
或
consumer.messageListener((consumer, msg)->{//do something})
文档没有提到这一点,但我发现浏览消费者 api。
我写了一个带有 Spring 引导的简单 Apache Pulsar 客户端 - 一个初始化为 bean 的 Pulsar-producer,它将在其余控制器中用于将传入的 api 消息发布到 Pulsar,以及一个消费者消耗消息,在控制台中打印一些值并确认。
截至目前,应用程序非常简单,但在加载此 spring-boot 应用程序时,我发现内存达到峰值,有时会出现 OOM。使用带有 Spring-boot 的 Pulsar 客户端时是否需要使用任何特定配置?
代码大部分是 Pulsar 文档中找到的代码。
我回答这个问题是为了记录这个问题 - 不要 使用循环来消费消息,而是采用 MessageListener
通过
consumer.messageListener(new Myconsumer())
或
consumer.messageListener((consumer, msg)->{//do something})
文档没有提到这一点,但我发现浏览消费者 api。