我想在 tomcat 服务器启动时启动一个守护邮件服务线程。所以,我用@Async 注释注释了一个方法。
我有一个实现 ApplicationListener 接口的类。当我从这个类调用我的异步方法时,它永远不会异步启动并阻塞当前线程。当我从 spring 控制器类调用我的异步方法时,它永远不会阻塞和异步启动。
为什么异步方法从一个类而不是另一个类成功执行?
我在做什么错,如何在服务器启动时执行我的异步方法?
提前致谢。
编辑:我尝试使用 InitializingBean 接口、@PostConstruct、init-method 方法来调用我的异步方法,但它从未执行。然后我意识到,我的默认lazy-init 是true,所以我将我的InitializingBean 的lazy-init 设置为false。现在它执行我的 asnyc 方法,但它阻塞了当前线程,现在还有一个问题,我面临的是我的服务器没有正常停止,但我必须强制停止我的服务器。