gpt4 book ai didi

java - 动态删除 Spring ApplicationListener 的最佳实践?

转载 作者:行者123 更新时间:2023-11-30 07:17:39 25 4
gpt4 key购买 nike

我想在运行时而不是在 Spring 配置文件中动态注册和取消注册 Spring ApplicationListeners。

如果我不能动态删除它们,就会发生内存泄漏。

这是我最好的猜测:

我可以调用 AbstractApplicationContext.getApplicationEventMulticaster().add/removeApplicationListener()

这是推荐的方法吗?

有没有人动态删除监听器?

最佳答案

以下作品。这对于实现 ApplicationListener 并经常创建/销毁的原型(prototype) bean 尤其有用。如果您不注销它们,您最终会发生内存泄漏。

ApplicationEventMulticaster aem = context.getBean(AbstractApplicationContext.APPLICATION_EVENT_MULTICASTER_BEAN_NAME, ApplicationEventMulticaster.class);

aem.removeApplicationListener(appListener);

关于java - 动态删除 Spring ApplicationListener 的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15930254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com