首页 > 其他分享 >生产环境 e.printStackTrace 导致的 控制台阻塞,导致的请求一致pending无返回

生产环境 e.printStackTrace 导致的 控制台阻塞,导致的请求一致pending无返回

时间:2023-08-09 12:14:10浏览次数:33  
标签:process System printStackTrace BufferedReader new 控制台 null line pending

首先该服务是使用java 调用控制台脚本启动的jar包

 

同时java调用 服务的控制部分也理所应当的

                Process process = null;
                try {
                    process = Runtime.getRuntime().exec(cmd, null, null);
                    process.getOutputStream().close();
                    BufferedReader output = new BufferedReader(new InputStreamReader(process.getInputStream(),
                            System.getProperty("sun.jnu.encoding")));
                    BufferedReader outputErr = new BufferedReader(new InputStreamReader(process.getErrorStream(),
                            System.getProperty("sun.jnu.encoding")));
                    String line = "";
                    Long l1 = 0L;
                    Long l2 = 0L;
                    while ((line = output.readLine()) != null) {
                        l1++;
                        log.debug(line);
                        System.out.println(line);
                    }
                    while ((line = outputErr.readLine()) != null) {
                        l2++;
                        log.debug(line);
                        System.out.println(line);
                    }
                    process.waitFor();
                    outputErr.close();
                    output.close();
                } catch (Exception e) {
                    log.error(entity.getServiceName() + errMsg, e);
                } finally {
                    if (process != null) {
                        process.destroy();
                    }
                }
OutputStream、InputStream,ErrorStream 都处理过了
但是还是在 e.printStackTrace 导致了服务请求pending,而且不是高压测试,只是一个请求马上就无返回了。

 

标签:process,System,printStackTrace,BufferedReader,new,控制台,null,line,pending
From: https://www.cnblogs.com/prprprcom/p/17616519.html

相关文章

  • 控制台打印进度条
    控制台打印进度条,实时展示任务进度。话不多说,直接上代码,这是一个编写好的进度条打印工具类,拿来即用~1.工具类importjava.util.Arrays;/***<h5>描述:打印进度条</h5>*/publicclassToolProgressBar{ //进度条展示符号,可自定义 privatefinalstaticcharBAR_C......
  • libhv创建简单udp控制台测试程序
    client:#include<iostream>#include"hv/UdpClient.h"#pragmacomment(lib,"hv.lib")classclient{public: client() { cli=nullptr; } ~client() { SAFE_DELETE(cli); } intsend(conststd::string&msg) { returnc......
  • RocketMQ Linux单机测试:简易快速部署指南及Dashboard控制台部署
    目录简介开始下载增加环境变量修改启动文件jvm大小修改rocketmq配置文件启动快速测试关闭Dashboard下载Dashboard已编译jar包网盘下载启动命令可能遇到的问题写在最后简介请注意,本博客仅供初期测试时快速部署之用,以节省时间避免不必要的问题。如需在生产环境部署,请参考其他可靠......
  • 构建跨平台的.NET Core控制台应用程序
    在本博客中,我们将介绍如何构建一个跨平台的.NETCore控制台应用程序。.NETCore是一个开源的跨平台框架,它可以在Windows、macOS和Linux等操作系统上运行。通过.NETCore,我们可以轻松地构建具有高度可移植性的应用程序。以下是步骤:步骤1:安装.NETCoreSDK首先,你需要安装.NETCoreSD......
  • 控制台出现lockdown-install.js文件报Removing intrinsics.问题告警
    查的原因是:警告来自MetaMaskChrome扩展。解决方法:关闭MetaMask扩展程序。参考资料:https://www.jdk5.com/ask/282/what-is-causing-the-warning-removing-intrinsics-arrayprototype-toreversed-in......
  • c++控制台时钟显示时间
    在旧电脑上刷了ubuntu的服务器版本,开着的时候旧电脑(yoga)的屏幕就处于了无用的状态。为了更好的利用这个屏幕,简单使用c++写了一个显示时间的代码。由于这台yoga的屏幕是可以360翻转的,所以给时间的显示也增加了一点翻转功能。1#include<iostream>2#include<ctime>3#......
  • 《控制台篇》新建控制台程序
    新建控制台参考链接:https://blog.csdn.net/qq_35576988/article/details/97373920新建项目环境vs2017基础概念1、solution与projectsolution译为解决方法;project为项目。visualstudio在管理代码的时候,解决方案是最高级别。一个solution可以包含一个或多个project。2......
  • C++程序获取python脚本控制台输出的一种方法
    作者:朱金灿为什么大多数人学不会人工智能编程?>>>  最近要使用C++程序调用python脚本,调用方法是通过启动python进程来调用,其中遇到的一个问题是在C++程序中需要获取python脚本的控制台输出信息。经过摸索使用_popen函数实现了。下面用python脚本和C++调用示例程序来说明。py......
  • VS选择Visual C++中的控制台项目和空项目、Windows桌面应用程序三者之间有什么区别?
    在VisualStudio中创建C/C++项目时,可以选择控制台项目、空项目和Windows桌面应用程序,它们有以下区别:控制台项目(ConsoleApplication):这种项目类型适用于命令行应用程序的开发。它提供一个命令行界面,可以在控制台中进行输入和输出操作,通常用于简单的控制台程序,如计算器、文件......
  • pycharm运行代码自动跳转到Python控制台窗口
    问题:在使用Pycharm的过程中,会遇到运行代码Pycharm会自动跳转到Python控制台(pythonconsole)窗口,如下图解决方案:​ 造成上述问题的原因是:不经意的设置了使用Pytho控制台运行,我们只需要修改以下运行配置就可以恢复正常,如下图(1)进入编辑配置:(2)取消勾选使用Python控制台运行......