在Spring Boot成功部署后调用服务方法

时间:2019-05-14 06:35:42

标签: spring-boot tomcat

我有一个spring boot应用程序,一旦该应用程序成功部署,我想调用一个服务方法。

例如:

@Service
public class MyServiceImpl implements MyUtilityService<Object, Object>{

    @Override
    public Object runOnce(Object credential) {                  
        return null;
    }
}

我仅想在应用程序成功部署后才调用myService.runOnce(...)

1 个答案:

答案 0 :(得分:3)

您可以为ApplicationReadyEvent注册一个EventListener。

从文档中

  

该事件在可能的较晚时间发布,以表明   应用程序已准备就绪,可以处理请求。事件的来源是   SpringApplication本身,但要注意修改其内部   状态,因为到那时所有初始化步骤都将完成。

@Service
public class MyServiceImpl implements MyUtilityService<Object, Object>{

    @Override
    @EventListener(ApplicationReadyEvent.class)
    public Object runOnce(Object credential) {                  
        return null;
    }
}