我正在尝试使用log4j appender将日志发送到GrayLog2(log4j2-gelf)。所以我加我的依赖到我的pom.xml配置log4j2.xml来配置我的appender。用maven构建整个事物并将其部署到本地tomcat,并且一切正常。 当我尝试关闭tomcat时发生问题。如果我不kill -9 PID tomcat的 Tomcat不停止,catalina.out与此结束:Complete stack traceJava Tomcat,底层Netty线程不停止

什么了我的注意是

java.lang.NoClassDefFoundError: io/netty/util/concurrent/DefaultPromise$1

首先,我认为我可以有另一种依赖进口网状那会导致这个例外。但我寻找一些时间,无法找到任何其他netty导入。然后我看到:

Caused by: java.lang.ClassNotFoundException: Illegal access: this web application instance has been stopped already. Could not load [io.netty.buffer.PoolArena$1]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.

而这就是我的问题即将到来的地方。 我的理解是,gelf-appender使用Netty作为与GrayLog服务器异步通信的一种方式。但它本身就是一台服务器。那么Tomcat是否有可能在杀死底层Netty之前停止父Servlet?这会导致这个问题? 我试图找到关于Tomcat关机的方式的一些文档,但到目前为止我没有找到任何东西,比我可以完全错误地关于此诊断...

+0

我已经做了一些挖掘,我似乎无法重现与码头的问题,所以这看起来像一个tomcat的问题 –

tomcat 停止 java 线程不停止_Java Tomcat,底层Netty线程不停止相关推荐

  1. java开发保险案例_Java实现双保险线程的示例代码

    双保险线程,每次启动2个相同的线程,互相检测,避免线程死锁造成影响. 两个线程都运行,但只有一个线程执行业务,但都会检测对方的时间戳 如果时间戳超过休眠时间3倍没有更新的话,则重新启动对方线程. 例子 ...

  2. java中的让步_java基本教程之线程让步 java多线程教程

    本章涉及到的内容包括: 1. yield()介绍 2. yield()示例 3. yield() 与 wait()的比较 1. yield()介绍 yield()的作用是让步.它能让当前线程由&quo ...

  3. java 线程池 包_Java并发包下线程池类小结

    并发包下的线程池技术虽然常用,但是知识点较多易忘.所以,参考网络资源做了一个小结,便于复习. 1.Executor接口 用于执行已提交的Runnable任务. Paste_Image.png 2.Ex ...

  4. java 线程内存模型_JAVA内存模型与线程

    概述 由于计算机的运算速度和它的存储和通讯子系统的速度差距巨大,大部分时间都花在IO,网络和数据库上.为了压榨CPU的运算能力,需要并发.另外,优秀的并发程序对于提高服务器的TPS有重要的意义. 硬件 ...

  5. java 线程执行结束_java中怎么判断线程执行完毕

    java中怎么判断线程执行完毕 发布时间:2020-05-15 15:18:05 来源:亿速云 阅读:316 作者:Leah java中怎么判断线程执行完毕?针对这个问题,今天小编总结这篇有关线程判断 ...

  6. java callable 详解_Java Callable与Future线程详解

    Callable,是Java1.5之后提供的一个接口,主要用于实现Java线程.通过Callable实现的线程可以获取线程指定的返回值,并且在线程方法执行时可以对异常进行处理.正是由于这两点使得Cal ...

  7. java condition详解_Java使用Condition控制线程通信的方法实例详解

    Java使用Condition控制线程通信的方法实例详解 发布于 2020-4-20| 复制链接 摘记: 本文实例讲述了Java使用Condition控制线程通信的方法.分享给大家供大家参考,具体如下 ...

  8. java i线程安全吗_Java中 i++ 是线程安全的么?为什么?

    问题 在 int i = 0; i = i++; 语句中,i = i++是线程安全的么?如果不安全,请说明上面操作在JVM中的执行过程,为什么不安全?说出JDK中哪个类能达到以上的效果,并且是线程安全 ...

  9. java代码批量下载_Java代码实战:线程池实现批量下载文件

    今天技术之家陪你一起Java代码实战:线程池实现批量下载文件: 1 创建线程池package com.cheng.webb.thread; import java.util.concurrent.Ar ...

最新文章

  1. 使用Python,OpenCV,本地二进制模式(LBP)进行人脸识别
  2. 关于贝叶斯统计的一点总结
  3. 一个学机械的毕业生令中国人无法安眠的帖子
  4. dSploitzANTI渗透教程之HTTP服务重定向地址
  5. java 读取 远程文件_利用JAVA获取远程文件及使用断点续传 供学习者使用
  6. linux内核杂记(14)-Linux kernel release 5.x(1)
  7. SAP UI5 应用开发教程之六十二 - 基于 OData V4 的 SAP UI5 表格控件使用方法介绍
  8. Unity 音频优化方案
  9. OpenCV属性页配置问题~
  10. 吴恩达《深度学习》第四门课(4)特殊应用:人脸识别和神经风格迁移
  11. 还在写 BUG?试试 GitHub 官方代码扫描工具!
  12. mysql 开发工具
  13. pon终端测试仪_6304-PON终端测试仪报价_测试仪-北京海富达科技有限公司
  14. EM2 MP1 Vowel and Consonant Teacher:Ashley
  15. 看电影哪款蓝牙耳机降噪效果最好?性价比降噪蓝牙耳机推荐
  16. express + vue 搭建项目
  17. 计算机考研三百多分很难吗,考研考300分很难吗?
  18. Microsoft SQL Server 2000 下载地址汇总
  19. 台湾精锐APEX行星减速机直齿轮和斜齿轮有什么区别?如何选择?
  20. mysql sql查询 sleep_mysql中sleep连接过多,Ufiner查询无数据

热门文章

  1. 5817. 【NOIP提高A组模拟2018.8.15】 抄代码
  2. Python学习---深浅拷贝的学习
  3. Swift3.0 在其它类获取Appdelegate单例的属性或则对象的值
  4. Win10 UWP vs add github
  5. ios 根据文字数量计算UILabel高度(已修改)
  6. 缓存jQuery对象来提高性能
  7. System.IO.Directory.Delete 方法的使用
  8. 【备忘】一段用于在论坛上插入Flash内容的JavaScript代码
  9. 小系统单据自动生成存储过程
  10. [转载] numpy.gradient