我有一个spring boot应用程序,一旦该应用程序成功部署,我想调用一个服务方法。
例如:
@Service
public class MyServiceImpl implements MyUtilityService<Object, Object>{
@Override
public Object runOnce(Object credential) {
return null;
}
}
我仅想在应用程序成功部署后才调用myService.runOnce(...)
答案 0 :(得分:3)
您可以为ApplicationReadyEvent注册一个EventListener。
从文档中
该事件在可能的较晚时间发布,以表明 应用程序已准备就绪,可以处理请求。事件的来源是 SpringApplication本身,但要注意修改其内部 状态,因为到那时所有初始化步骤都将完成。
@Service
public class MyServiceImpl implements MyUtilityService<Object, Object>{
@Override
@EventListener(ApplicationReadyEvent.class)
public Object runOnce(Object credential) {
return null;
}
}