我需要在我的应用程序完成启动后才能使端点可用。
目前我正在尝试使用Spring ApplicationListener / ContextRefreshedEvent来捕获Spring何时完成初始化。
有没有办法让它在此时启动我的自定义Rest端点?我尝试使用:
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ReadinessIndicator.class);
beanFactory.registerBeanDefinition("readinessIndicator", builder.getBeanDefinition());
要在运行时添加bean,但它看起来不像是初始化的。
答案 0 :(得分:0)
正如Aleksander所说,端点可以在应用程序完成加载后使用。如果要在所有初始化过程之后触发某个操作,可以在具有main方法的类中对方法使用@PostConstruct
注释。例子
@PostConstruct
public void afterInit() {
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ReadinessIndicator.class);
beanFactory.registerBeanDefinition("readinessIndicator", builder.getBeanDefinition());
}