add custom shutdown endpoint
This commit is contained in:
parent
047722347e
commit
ebf0a3b21b
|
@ -9,7 +9,7 @@ import org.springframework.context.ConfigurableApplicationContext;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class Application {
|
public class Application {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
|
||||||
SpringApplication.run(Application.class, args);
|
SpringApplication.run(Application.class, args);
|
||||||
|
@ -46,4 +46,5 @@ public class Application {
|
||||||
app.build().addListeners(new ApplicationPidFileWriter("./bin/shutdown.pid"));
|
app.build().addListeners(new ApplicationPidFileWriter("./bin/shutdown.pid"));
|
||||||
app.run();
|
app.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,25 @@
|
||||||
package com.baeldung.shutdown.shutdown;
|
package com.baeldung.shutdown.shutdown;
|
||||||
|
|
||||||
|
import org.springframework.beans.BeansException;
|
||||||
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.ApplicationContextAware;
|
||||||
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
public class ShutdownController {
|
public class ShutdownController implements ApplicationContextAware {
|
||||||
|
|
||||||
|
private ApplicationContext context;
|
||||||
|
|
||||||
|
@PostMapping("/shutdownContext")
|
||||||
|
public void shutdownContext() {
|
||||||
|
((ConfigurableApplicationContext) context).close();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setApplicationContext(ApplicationContext ctx) throws BeansException {
|
||||||
|
this.context = ctx;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ spring.jpa.hibernate.ddl-auto = update
|
||||||
management.endpoints.jmx.domain=Spring Sample Application
|
management.endpoints.jmx.domain=Spring Sample Application
|
||||||
management.endpoints.jmx.uniqueNames=true
|
management.endpoints.jmx.uniqueNames=true
|
||||||
|
|
||||||
|
management.endpoints.web.exposure.include=*
|
||||||
management.endpoint.shutdown.enabled=true
|
management.endpoint.shutdown.enabled=true
|
||||||
|
|
||||||
##jolokia.config.debug=true
|
##jolokia.config.debug=true
|
||||||
|
@ -27,8 +28,6 @@ info.app.description=This is my first spring boot application G1
|
||||||
info.app.version=1.0.0
|
info.app.version=1.0.0
|
||||||
info.java-vendor = ${java.specification.vendor}
|
info.java-vendor = ${java.specification.vendor}
|
||||||
|
|
||||||
management.security.role=SUPERUSER
|
|
||||||
|
|
||||||
logging.level.org.springframework=INFO
|
logging.level.org.springframework=INFO
|
||||||
|
|
||||||
#Servlet Configuration
|
#Servlet Configuration
|
||||||
|
|
Loading…
Reference in New Issue