当前位置: 首页 > news >正文

TongWeb8防止System.exit代码导致的进程停止

现象:

当应用中存在System.exit 、Runtime.exit代码执行时,会导致TongWeb进程停止,从而产生如下日志:

2023-02-14 09:47:36 [WARN] - The web application [webtest01] is still processing a request that has yet to finish. This is very likely to create a memory leak. You can control the time allowed for requests to finish by using the unloadDelay attribute of the standard Context implementation. Stack trace of request processing thread:[
java.lang.Object.wait(Native Method)
java.lang.Thread.join(Thread.java:1257)
java.lang.Thread.join(Thread.java:1331)
java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:107)
java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46)
java.lang.Shutdown.runHooks(Shutdown.java:123)
java.lang.Shutdown.sequence(Shutdown.java:170)
java.lang.Shutdown.exit(Shutdown.java:216)
java.lang.Runtime.exit(Runtime.java:109)
java.lang.System.exit(System.java:971)
com.tong.TestServlet.doGet(TestServlet.java:41)
javax.servlet.http.HttpServlet.service(HttpServlet.java:503)
javax.servlet.http.HttpServlet.service(HttpServlet.java:590)
com.tongweb.server.core.ApplicationFilterChain.enterApp(ApplicationFilterChain.java:365)

解决方式:

方式一:修改应用代码,将System.exit 、Runtime.exit代码删除。

方式二:开启TongWeb的安全策略功能,禁止System.exit退出。

开启后拦截日志有如下输出:

System exit request has been denied.
java.lang.Thread.getStackTrace(Thread.java:1564)
java.lang.Shutdown.exit(Shutdown.java)
java.lang.Runtime.exit(Runtime.java:109)
java.lang.System.exit(System.java:971)
com.tong.TestServlet.doGet(TestServlet.java:41)
javax.servlet.http.HttpServlet.service(HttpServlet.java:503)
javax.servlet.http.HttpServlet.service(HttpServlet.java:590)

相关文章:

TongWeb8防止System.exit代码导致的进程停止

现象:当应用中存在System.exit 、Runtime.exit代码执行时,会导致TongWeb进程停止,从而产生如下日志:2023-02-14 09:47:36 [WARN] - The web application [webtest01] is still processing a request that has yet to finish. This…...

PMP每年考几次,费用如何?

一,PMP每年考几次,怎么准备? PMP项目管理证书是美国PMI发起的在全球200多个国家进行的项目管理专业人士资格认证,它的含金量和给认证者带来的作用已经很明显。 PMP考试是项目管理专业人士资格认证考试,通过PMP考试是…...

【Kubernetes】【一】Kubernetes介绍

Kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署在物理机上 优点:简单,不需要其它技术的参与 缺点:不能为应用程序定…...

C语言:结构体

往期文章 C语言:初识C语言C语言:分支语句和循环语句C语言:函数C语言:数组C语言:操作符详解C语言:指针详解 目录往期文章前言1. 结构体的声明2. 结构体变量的定义和初始化3. 结构体成员的访问3. 结构体传参…...

搭建pclpy环境与读取pandaset数据并转换为pkl格式为pcd格式

1.搭建pclpy环境 问题:需要处理pcd文件,于是开始摸索搭建环境,有python-pcl,但是安装过程频频出现问题,于是转向pclpy。 参考链接:GitHub - davidcaron/pclpy: Python bindings for the Point Cloud Libr…...

别在用scroll去做懒加载了,交叉观察器轻松搞定

Ⅰ、前言 「懒加载」是网页中非常 常见的;为了减少系统的压力,对于一些电商系统出场频率非常高;那么大家一般用什么方式去实现 「懒加载」 呢 ? ① 通过 scroll 的形式: 通过 滚动「scroll」事件,然后去判…...

工欲善其事,必先利其器,分享5款Windows效率软件

工欲善其事,必先利其器。作为全球最多人使用的桌面操作系统,Windows 的使用效率与我们的工作学习息息相关。今天,小编就为大家整理了5款提高效率的利器,让你的 Windows 更具生产力。 1.桌面自定义——Rainmeter Rainmeter是一款…...

机器学习笔记之生成模型综述(四)概率图模型 vs 神经网络

机器学习笔记之生成模型综述——概率图模型vs神经网络引言回顾:概率图模型与前馈神经网络贝叶斯网络 VS\text{VS}VS 神经网络表示层面观察两者区别推断、学习层面观察两者区别引言 本节将介绍概率图模型与神经网络之间的关联关系和各自特点。 回顾:概率…...

微信小程序 组件与页面交互 无反应的问题

使用组件 声明组件 1.在目录中右键,新建components 2.在页面的json,属性中加入"component": true, 编写组件 父 声明: "usingComponents": {"address": "../../components/address/address"},…...

maven相关概念以及no dependency information available错误修改

一,相关概念 1,Maven坐标 Maven定义了这样一组规则:世界上任何一个构件都可以使用Maven坐标唯一标识,Maven坐标元素包括groupId、artifactId、version、packaging、classifier,现在只要我们提供正确的元素坐标&#x…...

QML- 属性绑定

QML- 属性绑定一、概述二、 QML绑定使用三、从JavaScript创建属性绑定1. 调试绑定的覆盖2. 属性绑定使用 this一、概述 QML对象的属性可以被赋一个静态值,该值保持不变,直到显式地赋一个新值。但是,为了充分利用QML及其对动态对象行为的内置…...

MFC CObject的使用

目录1 从 CObject 派生类1.1 使用基本 CObject 功能1.2 添加运行时类信息1.3 添加动态创建支持1.4 添加序列化支持2 访问运行时类信息3 动态对象创建1 从 CObject 派生类 在 CObject 的讨论中,经常使用术语“接口文件”和“实现文件”。 接口文件(通常称…...

CNI 网络流量分析(六)Calico 介绍与原理(一)

文章目录CNI 网络流量分析(六)Calico 介绍与原理(一)介绍安装Calico-node初始化Calico-node 服务Felixconfdallocate-tunnel-addrsmonitor-addressesmonitor-tokenstatus-reporterbirdcalico-kube-controllersCNI 网络流量分析&am…...

机器视觉_HALCON_示例实践_1.检测圆形

文章目录一、引言二、检测圆形三、总结一、引言 前面的文(用户指南/快速向导)差不多已经把HALCON的基本内容讲完了,并且在学习过程中还跑过一个简单示例——在单一背景下定位回形针。示例跑过,顿时觉得自己行了,但如果…...

使用yolov5训练数据集笔记

准备工作 1. 安装labelimg labelimg:主要用于目标检测的目标框绘制,得到关于我们训练的边框位置、类别等数据 pip install labelimg2. 下载yolov5源码 我使用的是v7.0版本,直接下载即可,下载后解压出来 2.1 安装yolov5运行依赖包 进入…...

常用类详解(三)StringBuilder

(1)一个可爱的字符序列。此类提供一个与StringBuffer兼容的API,但不保证同步(StringBuilder不是线程安全的),该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候。如果可能,建议优先采用该类&#x…...

OpenCV 文字绘制----cv::putText详解

opencv中除了提供绘制各种图形的函数外,还提供了一个特殊的绘制函数——在图像上绘制文字。这个函数cv::putText()。 具体形式如下: void cv::putText( cv::Mat& img, // 待绘制的图像 const string& text, // 待绘制的文字 cv::Point origin…...

同IP多个端口域名同时进行目录爆破

背景 目录爆破是信息收集不可缺的一部分 在渗透过程中,扫描地址时发现同IP下存在多个端口,且每个端口均属于域名,仅仅端口号不同 需求 同一个IP下,同时收集多个不同端口的域名目录爆破进行信息收集,且简单便捷(一行代码) 用到的工具 gobuster 下载地址:https://…...

react+antd+Table里切换Switch改变状态onChange 传参

场景&#xff1a;table列表里面&#xff0c;操作用Switch切换状态。对应列改变操作在colums里面// 表格行const colums: ColumnsType<potentialType> [{title: useLocale(创建时间),dataIndex: creation_date,key: creation_date,align: center,render: (v: string, rec…...

《底层逻辑:看清这个世界的底牌》读后感

书名《底层逻辑&#xff1a;看清这个世界的底牌》作者刘润简介如果只教给你各行各业的“干货”&#xff08;方法论&#xff09;&#xff0c;那只是“授人以鱼”&#xff0c;一旦环境出现任何变化&#xff0c;“干货”就不再适用。但如果教给你的是底层逻辑&#xff0c;那就是“…...

IPTV抓包工具合集:Wireshark、parse_cap_channels_v2、IPTV全能工具箱

分享一个刚刚大佬那里转存过来的IPTV工具箱v5.2版本。先叠个甲&#xff0c;这仅仅是一个单纯的源检测和管理工具分享&#xff0c;不包含任何IPTV源地址&#xff0c;也不涉及任何违规教程。如果版主认为违规请直接删帖。 这个软件主打一个省心。不需要你自己有服务器&#xff0c…...

精确率 vs 召回率:为什么你的模型总是顾此失彼?

精确率 vs 召回率&#xff1a;为什么你的模型总是顾此失彼&#xff1f; 在机器学习项目的实际落地过程中&#xff0c;我们常常会遇到一个令人头疼的现象&#xff1a;当模型在某个评估指标上表现优异时&#xff0c;另一个指标却惨不忍睹。这种"按下葫芦浮起瓢"的困境&…...

复调制频谱细化(Zoom-FFT)保姆级教程:从原理到MATLAB代码逐行解析

复调制频谱细化&#xff08;Zoom-FFT&#xff09;全流程实战&#xff1a;从数学推导到MATLAB工程实现 频谱分析是数字信号处理的核心技术之一&#xff0c;但在实际工程中常会遇到密集频谱难以分辨的困境。想象一下&#xff0c;当你面对一组间距仅2Hz的50Hz工频谐波&#xff0c;…...

FastAPI-依赖注入

一、什么是依赖注入依赖注入&#xff08;Dependency Injection&#xff09;是一种设计模式&#xff0c;用于管理组件之间的依赖关系。在 FastAPI 中&#xff0c;它用于&#xff1a;共享数据库连接强制执行安全性和认证参数验证代码复用二、基础依赖from fastapi import Depends…...

YOLOv10镜像实测:比YOLOv9快46%,新手也能轻松部署

YOLOv10镜像实测&#xff1a;比YOLOv9快46%&#xff0c;新手也能轻松部署 1. 引言&#xff1a;YOLOv10带来的性能革命 目标检测技术在过去几年取得了巨大进步&#xff0c;而YOLO系列一直是这个领域的标杆。最新发布的YOLOv10带来了令人振奋的性能突破——相比前代YOLOv9&…...

如何利用Python自动化工具解决大麦网抢票难题:技术原理与实战配置

如何利用Python自动化工具解决大麦网抢票难题&#xff1a;技术原理与实战配置 【免费下载链接】ticket-purchase 大麦自动抢票&#xff0c;支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 在当前热门演出票务市…...

六、免Root免Hook,探索Android原生系统层定位修改新实践

1. 为什么需要免Root免Hook的定位修改方案 最近几年&#xff0c;金融类App的风控系统越来越严格&#xff0c;传统的定位修改方法逐渐失效。我做过测试&#xff0c;某银行App能检测出90%的Xposed框架&#xff0c;甚至能识别Magisk的隐藏模式。更麻烦的是&#xff0c;很多社交平…...

X-AnyLabeling v2.5.0 深度解析:交互式视觉-文本提示如何重塑通用视觉任务标注范式

1. 交互式视觉-文本提示&#xff1a;标注工具的革命性突破 想象一下这样的场景&#xff1a;你面对一张熙熙攘攘的街景照片&#xff0c;需要标注其中所有"戴帽子的行人"和"红色交通工具"。传统标注工具需要你手动框选每个目标&#xff0c;而X-AnyLabeling v…...

手把手教你用BQ34Z100评估板搭建电池管理系统(附接线图与寄存器配置)

从零构建BQ34Z100电池监测系统&#xff1a;硬件连接与寄存器配置实战指南 当你第一次拿到BQ34Z100评估板时&#xff0c;可能会被这个看似简单却功能强大的小电路板所震撼。作为德州仪器(TI)推出的经典电池管理芯片&#xff0c;BQ34Z100能够精确监测电池组的电压、电流、温度等关…...

ERPNext在Ubuntu 22.04上的保姆级安装指南:从零配置到邮件服务设置

ERPNext在Ubuntu 22.04上的深度部署实战&#xff1a;从系统调优到高可用配置 对于技术团队而言&#xff0c;企业级开源ERP系统的自主部署不仅是成本控制的手段&#xff0c;更是掌握核心技术栈的重要途径。作为Frappe框架的旗舰产品&#xff0c;ERPNext在制造业、零售业和项目管…...