网站建设流程新闻hao123浏览器官方下载

张小明 2026/3/12 7:37:21
网站建设流程新闻,hao123浏览器官方下载,FLASK做wiki网站,wordpress根据点击量最高查询文章SpringBoot 中有一种方式可以优雅地关闭应用程序。#xff08;优雅停机是指关闭应用程序时#xff0c;在规定的超时时间范围内#xff0c;允许进行中的请求完成#xff0c;拒绝新的请求进入。 这将使应用在请求处理方面保持一致#xff0c;即没有未处理请求#xff0c;每…SpringBoot 中有一种方式可以优雅地关闭应用程序。优雅停机是指关闭应用程序时在规定的超时时间范围内允许进行中的请求完成拒绝新的请求进入。 这将使应用在请求处理方面保持一致即没有未处理请求每一个请求都被处理完成或拒绝配置如下yml server: port: 8888 shutdown: graceful management: endpoint: shutdown: enabled: true endpoints: web: exposure: include: shutdownxml dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-actuator/artifactId /dependency现象直接调用 localhost:8888/actuator/shutdown 即可关闭应用程序。但是在调用某个业务后再调用 shutdown 的 api发现实际 shutdown 确实在执行但是最终并没有把 pid 给 kill 掉应用程序依然在运行。第一怀疑就是认为这个程序执行后还有什么资源没有被关闭掉导致 springboot 认为应用程序还在运行从而没有执行关闭操作。排查过程执行脚本shell 生成线程快照 jstack -l pid threads.txt # 查询非守护进程因为非守护线程会阻止 JVM 退出 -v 表示反向排除 grep -n threads2.txt | grep -v daemon所有线程信息非守护线程信息在里面发现了一段 关于 pool-X-thread-Y的线程信息这个 ThreadPoolExecutor 出来的线程处于等待中其他的都是额外框架的线程信息或者 jvm 的只有pool-X-thread-Y属于额外的。less pool-4-thread-1 #230 prio5 os_prio31 cpu0.21ms elapsed252.08s tid0x00000001642cf800 nid0x9a07 waiting on condition [0x000000017aaf6000] java.lang.Thread.State: WAITING (parking) at jdk.internal.misc.Unsafe.park(java.base17.0.13/Native Method) - parking to wait for 0x0000000701e8af30 (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(java.base17.0.13/LockSupport.java:341) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base17.0.13/AbstractQueuedSynchronizer.java:506) at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base17.0.13/ForkJoinPool.java:3465) at java.util.concurrent.ForkJoinPool.managedBlock(java.base17.0.13/ForkJoinPool.java:3436) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base17.0.13/AbstractQueuedSynchronizer.java:1630) at java.util.concurrent.ArrayBlockingQueue.take(java.base17.0.13/ArrayBlockingQueue.java:420) at java.util.concurrent.ThreadPoolExecutor.getTask(java.base17.0.13/ThreadPoolExecutor.java:1062) at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base17.0.13/ThreadPoolExecutor.java:1122) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base17.0.13/ThreadPoolExecutor.java:635) at java.lang.Thread.run(java.base17.0.13/Thread.java:840) Locked ownable synchronizers: - NoneThreadPoolExecutor 默认线程名称源码有了这个排查方向去项目里面查找关于ThreadPoolExecutor的代码。最终发现一句关于线程池的声明代码。从代码来看虽然 XxxConfig 类上加了 Configuration 注解受到 spring 管理但是 XXX_EXECUTOR 这个线程池是静态变量 并没有受到 spring 管理所以 springboot 在执行 shutdown 的时候并不会关闭这个线程池导致应用程序没有被关闭。java Configuration public class XxxConfig { public static final ThreadPoolExecutor XXX_EXECUTOR new ThreadPoolExecutor(20, 20, 1000, TimeUnit.MILLISECONDS, new ArrayBlockingQueue(10000), new ThreadPoolExecutor.CallerRunsPolicy()); }最终解决方案建议将 XXX_EXECUTOR 这个线程池改为 spring 管理的 bean如下所示java Configuration public class XxxConfig { Bean(xxxExecutor) public ThreadPoolExecutor xxxExecutor() { //示例 demo return new ThreadPoolExecutor(20, 20, 1000, TimeUnit.MILLISECONDS, new ArrayBlockingQueue(10000), new ThreadPoolExecutor.CallerRunsPolicy()); } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

拍卖网站开发多少钱网站建设市场拓展岗位

WebAssembly跨平台兼容性实战指南:从编译优化到多环境适配 【免费下载链接】emscripten Emscripten: An LLVM-to-WebAssembly Compiler 项目地址: https://gitcode.com/gh_mirrors/em/emscripten 你是否经历过这样的困境:精心开发的WebAssembly应…

张小明 2026/3/10 16:23:22 网站建设

秦皇岛庆云网站建设wordpress高亮代码转义

第一章:Shell脚本的基本语法和命令 Shell脚本是Linux/Unix系统中自动化任务的核心工具,通过编写可执行的文本文件,用户能够组合命令、控制流程并实现复杂操作。脚本通常以 #!/bin/bash开头,指定解释器路径,确保系统正确…

张小明 2026/3/10 16:23:23 网站建设

创建一个网站买卖wordpress建站服务

Visual Studio 2026 带来了全新的用户体验,其设计注重清晰度、可访问性和简洁的界面,在 Windows 系统上使用时给人一种得心应手的感觉。此次更新是与开发者广泛合作的成果,并且融入了社区的宝贵反馈。我们改进了排版、图标设计和整体布局&…

张小明 2026/3/10 16:28:33 网站建设

旅游网站的功能更换网站需要备案吗

在数字化浪潮席卷全球能源领域的今天,核电作为国家能源战略的重要组成部分,其数字化转型已正式按下加速键。核电安全无小事。作为核电站运行的“大脑”,数字化仪控系统必须确保在任何工况下的可靠性与安全性。而在控制室内,KVM&am…

张小明 2026/3/10 16:28:35 网站建设

海淀做企业网站的公司wordpress 手机模板

一、实验环境 1.攻击方: 攻击环境使用KALI系统(使用虚拟机搭建)的Metasploit模块,msfconsole是metasploit中的一个工具,它集成了很多漏洞的利用的脚本,并且使用起来很简单的网络安全工具。 这里要特别强…

张小明 2026/3/10 16:28:37 网站建设

seo自助建站平台ppt免费模板官网

流程工厂数字孪生体:从技术到商业的全面剖析 1. 流程工厂设计现状与挑战 在流程工厂工程领域,如今已经形成了一套成熟的体系,有经过实践检验的流程、方法和工具可供使用。对于新建工厂而言,借助市面上可获取的工具集以及少量定制化操作,能够实现流程工厂在其整个生命周期…

张小明 2026/3/10 16:28:39 网站建设