Problem
Exploring an option of enabling/disabling a @RequestMapping endpoint on demand without restarting JVM. Implement a kill switch on a endpoint at runtime.
Attempt
I've tried the following but @RefreshScope does not seem to work with @ConditionOnProperty
@RestController @RefreshScope @ConditionalOnProperty(name = "stackoverflow.endpoints", havingValue = "enabled") public class MyController { @Value("${stackoverflow.endpoints}") String value; @RequestMapping(path = "/sample", method = RequestMethod.GET) public ResponseEntity<String> process() { return ResponseEntity.ok(value); } } Updated property using
POST /env?stackoverflow.endpoints=anyvalue And reloaded context using
POST /refresh At this point the controller returns the updated value.
Question
Are there any other ways to achieve the desired functionality?