我知道通过向http://host:port/shutdown发送http post请求,我们可以关闭Springboot应用程序。是否可以通过在生产环境中发送http请求来重新启动整个springboot应用程序?所以我们不需要登录服务器来做到这一点。谢谢。
我不认为存在这样的事情,我会很高兴得到证明:
Spring启动不会对它运行的环境做任何假设。所以当Spring启动过程关闭时,重新启动它是弹簧启动基础设施的“超出能力”,这只是一堆运行在一个内部的java类。 JVM进程。
您可以在Here中找到弹簧引导所暴露的端点列表。您在那里提到了一种“关闭”方法,但没有暴露“重启”功能。
现在还有其他技术可能有所帮助:如果应用程序由于某些spring bean的某些非法状态而关闭,那么暴露一些将“清理”状态并使应用程序再次运行的端点可能是有意义的。如果由于配置文件或其他内容的更改而必须重新启动应用程序,那么您可能需要考虑使用spring cloud的Refresh Scope for Beans。在这里提供更多信息有点困难,因为你没有提到关闭应用程序的原因,但我猜你已经有了方向。
话虽如此,根据应用程序运行的环境,可能有一些不同的方法可以实现您的需求:
你应该看看Spring boot jenkins你还会找到一篇小文章,解释如何在jenkins上配置项目。