java 钩子程序,在kill 的时候程序平滑退出
需求:想要在程序退出的时候,能够进行一些文件的清理,能够进行一些资源的释放,一些运行时的数据的保存。还有一个需求是在退出的时候,需要将阻塞队列里边的数据,处理完再退出。
说明:springboot 项目
关闭程序的时候,只能使用 kill pid 的方式终止程序,不能使用 kill -9 pid 的方式。因为 kill -9 的方式,会直接退出。这个这里不过多的赘述了。
# # 解决方案
在 application 启动类里边添加如下的代码,其中application启动类就是我们创建springboot 项目的时候就会有的类。然后需要执行的代码放在先撤线程里边
// 定义关闭线程
Thread shutdownThread = new Thread() {public void run() {System.out.println("shutdownThread...");}
};
Runtime.getRuntime().addShutdownHook(shutdownThread);
~ ps
写在最后:其实我最想,在 kill -9 pid 的时候,也能够触发钩子程序。 但是我目前还做不到,因为系统命令 kill -9 就是直接退出,钩子程序也不会执行了。 我见过的能够平滑退出的有 elasticsearch ,它在使用 kill -9 的时候,仍然能够执行一些内容。
java 钩子程序,在kill 的时候程序平滑退出相关推荐
- 《Java编码指南:编写安全可靠程序的75条建议》—— 指南20:使用安全管理器创建一个安全的沙盒...
本节书摘来异步社区<Java编码指南:编写安全可靠程序的75条建议>一书中的第1章,第1.20节,作者:[美]Fred Long(弗雷德•朗), Dhruv Mohindra(德鲁•莫欣达 ...
- 《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 2.7 修复错误...
本节书摘来异步社区<Java编码指南:编写安全可靠程序的75条建议(英文版)>一书中的第2章,第2.7节,作者:[美]Fred Long(弗雷德•朗),Dhruv Mohindra(德鲁• ...
- 利用Spring-Boot解析Excel、用Java分析Excel、告别手动输入用程序读取Excel
利用Spring-Boot解析Excel.用Java分析Excel.告别手动输入用程序读取Excel 一.资源 java读取Excel文件 二.修改 (一)中的代码中的 import service. ...
- JAVA同时输入用户名和密码_用java模拟设计一个简单的“用户注册”程序。当用户输入用户名和密码时,单击“注...
用java模拟设计一个简单的"用户注册"程序.当用户输入用户名和密码时,单击"注 2020 - 9 - 26 TAG : 所有功能均已实现,如有不满意的地方我再修改imp ...
- IDEA下SpringBoot项目的引用类没问题却提示:java:找不到符号:类**位置:程序包
场景 在IDEA下正在调试运行的SpringBoot项目,然后添加了使用代码生成工具生成的domain.Controller.service.serviceImpl.Mapper层的文件后,再次重新调 ...
- 如何复制java卡,使用java做一个简单的集卡程序
使用java做一个简单的集卡程序 本次设想的是要集齐4张卡,每张卡的概率都是25%,如果每个用户集齐需要多少次才能集合完毕 public class Test { public static void ...
- Java黑皮书课后题第3章:3.2(游戏:将三个数相加)程序清单3-1中的程序产生2个整数并提示用户输入这两个整数的和。修改该程序使之能产生三个个位数整数,提示用户输入这三个整数的和
3.2(游戏:将三个数相加)程序清单3-1中的程序产生2个整数并提示用户输入这两个整数的和.修改该程序使之能产生3个个位数整数,提示用户输入这3个整数的和 题目 题目概述 程序清单3-1(非本题代码) ...
- 怎样用java写一个简单的文件复制程序
怎样用java写一个简单的文件复制程序 代码来源:https://jingyan.baidu.com/article/c35dbcb0d6f1398916fcbc07.html package Num ...
- java ibatis 获取执行的sql_小程序官宣+JAVA 三大框架基础面试题
每天给你诚意满满的干货 虽然每天都会写代码,但编程语言里有太多知识点,许多知识长时间不用就会忘记,在我们要去参加面试或是其它一些场景下,需要做些题来查缺补漏.我在搜索过程中发现没有太好的刷题小程序,所 ...
- 调查:Java程序员最伤心,C++程序员最年老
说起我们对编程世界现有的刻板印象,你一定听说过类似于没有人喜欢用Java编码或者使用C ++都是老人家,等等这样的话.为了分析这些刻板印象背后的真相,Trestle Technology的数据工程师写 ...
最新文章
- TabLayout的指示器长度 的问题
- Response 和 Request
- Visual Studio 15.4发布,新增多平台支持
- 中国拉丝蛋白行业未来发展趋势与盈利前景研究报告2022年
- Visual Studio 2019 首个预览版本抢先看,有啥新功能?
- 绘制矩形php,PHP_php绘制一个矩形的方法,本文实例讲述了php绘制一个矩 - phpStudy...
- 年终总结系列6:借与贷,科普LTV指标
- CSS揭秘(四)视觉效果
- IE9对CSS3的支持情况概述
- 城市轨道交通运营票务管理论文_城市轨道交通运营管理浅析
- d3.js d3.scale.ordinal() --详解 rangeBands
- 【硬件工程师】芯片手册阅读-电阻式触摸屏控制芯片
- CSS规范--CSS属性书写顺序和CSS初始化
- 小程序开发框架_mpvue(六)卡通照片的实现思路
- 宏的本质以及宏(包括函数式宏) 没有返回值概念
- 爬虫速成(二):数据获取
- 【Simulink】数字控制振荡器 NCO ( N umerically CONtrolled Oscillator )
- 【FME EXCEL】FME玩转EXCEL小记——不定期更新
- 了解C语言中的pipe()系统调用
- v-bind绑定无效 - Vue