How can I refresh Spring configuration file without restarting my servlet container?
I am looking for a solution other than JRebel.
See Question&Answers more detail:osHow can I refresh Spring configuration file without restarting my servlet container?
I am looking for a solution other than JRebel.
See Question&Answers more detail:osFor those stumbling on this more recently -- the current and modern way to solve this problem is to use Spring Boot's Cloud Config.
Just add the @RefreshScope annotation on your refreshable beans and @EnableConfigServer on your main/configuration.
So, for example, this Controller class:
@RefreshScope
@RestController
class MessageRestController {
@Value("${message}")
private String message;
@RequestMapping("/message")
String getMessage() {
return this.message;
}
}
Will return the new value of your message
String property for the /message
endpoint when refresh
is invoked on Spring Boot Actuator (via HTTP endpoint or JMX).
See the official Spring Guide for Centralized Configuration example for more implementation details.