网站建设维护书,住房城乡建设部网站合同示范,家庭带宽100m做网站,深圳成立公司这里写目录标题 1 介绍2 使用2.1 开启 hook2.2 禁用 hook 3 手动指定 hook 1 介绍
SpringBoot 如果需要使用hook则需要开启spring.main.register-shutdown-hooktrue(默认为true) 如果使用kill -9则不会出发JVM的hook#xff0c;kill可以正常触发hook
server:port: 8080shutd… 这里写目录标题 1 介绍2 使用2.1 开启 hook2.2 禁用 hook 3 手动指定 hook 1 介绍
SpringBoot 如果需要使用hook则需要开启spring.main.register-shutdown-hooktrue(默认为true) 如果使用kill -9则不会出发JVM的hookkill可以正常触发hook
server:port: 8080shutdown: IMMEDIATE #GRACEFUL/IMMEDIATE (默认IMMEDIATE)spring:main:register-shutdown-hook: true #默认ture2 使用
package com.example.java.test;import jakarta.annotation.PreDestroy;
import org.springframework.stereotype.Component;/*** author hyacinth* date 2023/10/13 23:07* desc: 测试* title: Test* package com.example.java.test*/
Component
public class Test {PreDestroypublic void destroy() {System.out.println(销毁);}public Test() {System.out.println(创建);}}
2.1 开启 hook
如果spring.main.register-shutdown-hooktrue . ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/:: Spring Boot :: (v3.1.4)2023-10-13T23:11:26.80108:00 INFO 18244 --- [ restartedMain] com.example.java.JavaApplication : Starting JavaApplication using Java 21 with PID 18244 (D:\SourceCode\Intellij\java\target\classes started by xuhya in D:\SourceCode\Intellij\java)
2023-10-13T23:11:26.80508:00 INFO 18244 --- [ restartedMain] com.example.java.JavaApplication : No active profile set, falling back to 1 default profile: default
2023-10-13T23:11:26.91608:00 INFO 18244 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set spring.devtools.add-properties to false to disable
2023-10-13T23:11:26.91608:00 INFO 18244 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the logging.level.web property to DEBUG
2023-10-13T23:11:28.59408:00 INFO 18244 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2023-10-13T23:11:28.62208:00 INFO 18244 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2023-10-13T23:11:28.62308:00 INFO 18244 --- [ restartedMain] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.13]
2023-10-13T23:11:28.69608:00 INFO 18244 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2023-10-13T23:11:28.69708:00 INFO 18244 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1779 ms
创建
2023-10-13T23:11:29.30808:00 INFO 18244 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2023-10-13T23:11:29.38608:00 INFO 18244 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path
2023-10-13T23:11:29.40308:00 INFO 18244 --- [ restartedMain] com.example.java.JavaApplication : Started JavaApplication in 3.274 seconds (process running for 3.915)
销毁Process finished with exit code 130
2.2 禁用 hook
如果spring.main.register-shutdown-hookfalse
如果spring.main.register-shutdown-hooktruejava. ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/:: Spring Boot :: (v3.1.4)2023-10-13T23:11:26.80108:00 INFO 18244 --- [ restartedMain] com.example.java.JavaApplication : Starting JavaApplication using Java 21 with PID 18244 (D:\SourceCode\Intellij\java\target\classes started by xuhya in D:\SourceCode\Intellij\java)
2023-10-13T23:11:26.80508:00 INFO 18244 --- [ restartedMain] com.example.java.JavaApplication : No active profile set, falling back to 1 default profile: default
2023-10-13T23:11:26.91608:00 INFO 18244 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set spring.devtools.add-properties to false to disable
2023-10-13T23:11:26.91608:00 INFO 18244 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the logging.level.web property to DEBUG
2023-10-13T23:11:28.59408:00 INFO 18244 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2023-10-13T23:11:28.62208:00 INFO 18244 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2023-10-13T23:11:28.62308:00 INFO 18244 --- [ restartedMain] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.13]
2023-10-13T23:11:28.69608:00 INFO 18244 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2023-10-13T23:11:28.69708:00 INFO 18244 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1779 ms
创建
2023-10-13T23:11:29.30808:00 INFO 18244 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2023-10-13T23:11:29.38608:00 INFO 18244 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path
2023-10-13T23:11:29.40308:00 INFO 18244 --- [ restartedMain] com.example.java.JavaApplication : Started JavaApplication in 3.274 seconds (process running for 3.915)Process finished with exit code 130
3 手动指定 hook
package com.example.java;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication
public class JavaApplication {public static void main(String[] args) {SpringApplication.run(JavaApplication.class, args);Runtime.getRuntime().addShutdownHook(new Thread(() - {System.out.println(服务已停止);}));}}. ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | _ | _| | _ \/ _ | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) ) |____| .__|_| |_|_| |_\__, | / / / /|_||___//_/_/_/:: Spring Boot :: (v3.1.4)2023-10-13T23:15:08.66708:00 INFO 16108 --- [ restartedMain] com.example.java.JavaApplication : Starting JavaApplication using Java 21 with PID 16108 (D:\SourceCode\Intellij\java\target\classes started by xuhya in D:\SourceCode\Intellij\java)
2023-10-13T23:15:08.67108:00 INFO 16108 --- [ restartedMain] com.example.java.JavaApplication : No active profile set, falling back to 1 default profile: default
2023-10-13T23:15:08.75208:00 INFO 16108 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set spring.devtools.add-properties to false to disable
2023-10-13T23:15:08.75208:00 INFO 16108 --- [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the logging.level.web property to DEBUG
2023-10-13T23:15:10.31408:00 INFO 16108 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2023-10-13T23:15:10.33508:00 INFO 16108 --- [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2023-10-13T23:15:10.33508:00 INFO 16108 --- [ restartedMain] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.13]
2023-10-13T23:15:10.40208:00 INFO 16108 --- [ restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2023-10-13T23:15:10.40308:00 INFO 16108 --- [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1649 ms
创建
2023-10-13T23:15:10.91408:00 INFO 16108 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729
2023-10-13T23:15:10.99608:00 INFO 16108 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path
2023-10-13T23:15:11.01508:00 INFO 16108 --- [ restartedMain] com.example.java.JavaApplication : Started JavaApplication in 3.038 seconds (process running for 3.626)
服务已停止