spring - 以编程方式重启 Spring Boot 应用程序

我正在使用 Spring Boot,并且我有一个用例,用户可以上传一个应该导致应用程序重新启动的文件(因为在创建多个 bean 期间使用了用户的上传)。我知道我可以避免重新启动应用程序,但目前 - 这就是我想要的。

我找到了RestartEndpoint在 Spring-Cloud 项目中,但似乎没有触发 ApplicationPreparedEvent。有没有其他方法可以以编程方式重新启动 Spring Boot 应用程序?

最佳答案

最简单的方法是调用 refresh() Spring ApplicationContext 上的方法。这将杀死并重新加载您的所有 bean,因此您应该确定这仅在您的应用程序安全的情况下才会发生。

https://stackoverflow.com/questions/29117308/

相关文章:

Java - 避免创建空的子类和接口(interface)或生成 Java 源代码模板

java - Spring配置继承和@Import的区别

java - 使用具有不同 AuthenticationProviders 的多个 WebSecur

spring - jar 如何在使用它的 Web 应用程序中传播漏洞?

spring - Spring JUnit 测试中的自动模拟实例化

java - 单个 hibernate session 中的多个事务(使用 Spring)

java - Spring MVC 3.2 - 错误页面的内容协商?

java - Spring 验证与 Hibernate 验证

java - Spring Boot + Spring Data Multi-Tenancy

java - 使用spring boot(安全)和keycloak启用角色身份验证?