代码之家  ›  专栏  ›  技术社区  ›  16cha

我如何捕捉“在12.49秒内启动ABCapApplication”事件?

  •  0
  • 16cha  · 技术社区  · 9 年前

    语言:Java,框架:Springboot,应用程序名:ABCaplication “21:47:32.133[主]信息c.c.abc.abc应用程序-在12.49秒内启动abc应用程序(JVM运行8.467)”

    当应用程序成功启动时,springboot应用程序输出上述消息。我如何处理此事件?我想在应用程序初始化完成后做一些事情。

    2 回复  |  直到 9 年前
        1
  •  0
  •   Amer Qarabsa    9 年前

    您正在寻找的是ContextRefreshedEvent,您可以创建一个类,使其成为组件并实现ApplicationListener

    @Component
    public class ServerReadyClass implements  ApplicationListener<ContextRefreshedEvent> {
    
        @Override
        public void onApplicationEvent(ContextRefreshedEvent event) {
            //YOUR LOGIC
        }
    }
    
        2
  •  0
  •   freemanpolys    9 年前

    你也可以收听ApplicationReadyEvent。

    @Configuration
    public class ProjectConfiguration {
        private static final Logger log = 
       LoggerFactory.getLogger(ProjectConfiguration.class);
    
       @EventListener(ApplicationReadyEvent.class)
       public void doSomethingAfterStartup() {
        log.info("hello world, I have just started up");
      }
    }