在 wildfly 中使用执行器重新启动 spring 启动应用程序
Restart spring boot application using actuator in wildfly
我正在尝试使用 Spring Boot Actuator 重新启动 spring 以更新其最新属性。
我遵循了这个教程:
https://javapointers.com/spring/spring-boot/how-to-restart-spring-boot-automatically-using-actuator/
所以我所做的只是添加属性
management.endpoint.restart.enabled=true
management.endpoints.web.exposure.include=restart,health
并调用端点
{host}/actuator/restart
我在本地使用嵌入式 tomcat 服务器对其进行了测试,它可以正常工作。
但是当我在 jboss/wildfly 中尝试时,因为我的客户将它用于他们的生产服务器,所以它不起作用。
这是我得到的错误:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'server-org.springframework.boot.autoconfigure.web.ServerProperties': Could not bind properties to 'ServerProperties' : prefix=server, ignoreInvalidFields=false, ignoreUnknownFields=true; nested exception is java.lang.IllegalStateException: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3aa3a991 has been closed already
如果我需要提供其他信息,请告诉我。
也许你可以看看 Spring Cloud Config 来正确解决你的问题:Spring Cloud Config
它允许您外部化属性、管理它们并将它们公开给客户端(例如您的应用程序)。
它还有一些好处,例如 'No restart needed'
我正在尝试使用 Spring Boot Actuator 重新启动 spring 以更新其最新属性。
我遵循了这个教程: https://javapointers.com/spring/spring-boot/how-to-restart-spring-boot-automatically-using-actuator/
所以我所做的只是添加属性
management.endpoint.restart.enabled=true
management.endpoints.web.exposure.include=restart,health
并调用端点
{host}/actuator/restart
我在本地使用嵌入式 tomcat 服务器对其进行了测试,它可以正常工作。
但是当我在 jboss/wildfly 中尝试时,因为我的客户将它用于他们的生产服务器,所以它不起作用。
这是我得到的错误:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'server-org.springframework.boot.autoconfigure.web.ServerProperties': Could not bind properties to 'ServerProperties' : prefix=server, ignoreInvalidFields=false, ignoreUnknownFields=true; nested exception is java.lang.IllegalStateException: org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@3aa3a991 has been closed already
如果我需要提供其他信息,请告诉我。
也许你可以看看 Spring Cloud Config 来正确解决你的问题:Spring Cloud Config
它允许您外部化属性、管理它们并将它们公开给客户端(例如您的应用程序)。
它还有一些好处,例如 'No restart needed'