To prevent a momery leak
据说分布式向来是鬼影重重,留神不留神都能碰到鬼,今天就碰到一只难缠的。
启动报错:org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [service] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
事情起因:分布式,上午运行的好好的,没有一点异样。看日志也只是个警告而已。但是程序运行不起来。据说是内存泄漏,在tomcat的server.xml关闭内存泄漏监听<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />,结果毫无作用。
往深了找,度娘上找,说是数据源莫名关闭。于是各种druid怀疑。
配置修改了500遍还是没觉得有问题,2个小时过去了。
还有人说数据库连接数太多导致spring不释放连接。然后我关掉数据库,maven clear无数次,无效!!!重启电脑,这次该释放连接了吧(本地数据库),无效!!!!!
没法子了,只好一点点还原上午的程序,索性也没改多少。把原来LoginController文件中查询菜单的部分业务处理的代码又从MenuServiceImpl中还原到LoginController中,奇迹出现了,妈的居然好了。心中一万个草拟吗崩腾而过。分布式的坑这么多?
耐着性子慢慢找原因,按理说不可能是分布式的关系。逻辑处理不能写在业务层,这还搞个鸡毛分布式啊。分布式有三层(鉴于业务前期简单,只分三层):api(用来存放公共组件),controller层(服务消费者),service层(服务提供者)。
如果在service层中不能处理业务逻辑,是不是可能配置不正确,没有扫描到包,或者扫描的bean包范围太小,于是将原来的
Context:component-scan base-package=”com.ywyt.*;com.ywyt.service.impl/>
改为:context:component-scan base-package=”com.ywyt.service.*”,然后将业务逻辑处理放到service.imple中去,结果就好了。WTF!!
后记:自以为找到了问题的答案,又学了一招。结果…..结果第二天来,将配置改为第一天的扫描包和aop配置
结果还是可以运行。Double WTF!!!!!
To prevent a momery leak相关推荐
- 一次bug调试经验----To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
5-Feb-2019 11:03:11.635 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContex ...
- tomcat 启动时报错:To prevent a memory leak, the JDBC Driver has been forcibly unregistered
在启动tomcat时,报错: 五月 04, 2017 10:56:15 上午 org.apache.coyote.AbstractProtocol start 信息: Starting Protoco ...
- 【tomcat启动报错】To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
我在写一个服务管理系统的时候出现了tomcat启动报错的问题 Maven配置的tomcat插件 <plugin><groupId>org.apache.tomcat.maven ...
- idea启动项目报错 --To prevent a memory leak, the JDBC Driver has been forcibly unregistered
网上说的种种方法我都试过,我感觉新项目没有不要改代码. 解决了一早上种种方法都排除用过,最后我下载了一个7.5的tomcat解决问题之前用的是8.5. 注意:换tomcat7.5之前我本身项目内部所有 ...
- mysql memory leak_解决memory leak问题
应用程序注册了JDBC驱动,但当程序停止时无法注销这个驱动,tomcat为了防止内存溢出,就给强制注销了 解决: 重写了org.apache.commons.dbcp.BasicDataSource ...
- windows mobile做一个摄象头预览程序
zdirectshow的原理大概大家都知道,基本就是用微软封装的接口来实现硬件无关性,但是最终调用的接口都要在驱动层有对应的实现: 为了更清楚地演示directshow的数据传输过程,我必须说明的这个 ...
- 简单读!tomcat源码(一)启动与监听
tomcat 作为知名的web容器,很棒! 本文简单了从其应用命令开始拆解,让我们对他有清晰的了解,揭开神秘的面纱!(冗长的代码流水线,给你一目了然) 话分两头: 1. tomcat是如何启动的? 2 ...
- Tomcat 6.0.32 +Spring dbcp datasource关闭Tomcat出现严重异常
异常如下: 信息: Pausing Coyote HTTP/1.1 on http-8080 2014-3-6 14:52:50 org.apache.catalina.core.StandardSe ...
- 解密jQuery事件核心 - 绑定设计(一)
说起jQuery的事件,不得不提一下Dean Edwards大神 addEvent库,很多流行的类库的基本思想从他那儿借来的 jQuery的事件处理机制吸取了JavaScript专家Dean Edwa ...
最新文章
- 过滤当前主机的IPV4地址
- windows 7下同时安装visual studio 2012和2010
- go语言第一个程序-hello world
- java jwt 验证_教程:用Java创建和验证JWT
- php中获得客户端,服务器ip
- 【luogu3372】线段树 1 模板
- 0. Python3源码—编译
- Linux音频驱动-ALSA概述
- jupyter 教程
- 485通讯的校验和_案例丨MCGS与变频器、温度控制器进行通讯演示
- 面包板如何接线电源 图解_消防应急照明EPS应急电源供电系统如何设计?附高清接线参考图...
- 自动控制原理02 数学模型
- 利用TF_IDF算法计算两英文文章的文本相似度 C++实现
- android刷windows教程视频,蓝魔i9s安卓版刷Windows 8.1系统固件视频教程
- 【图像处理基础】RGB的解析
- Java黑皮书课后题第2章:2.4(将磅转换为千克)编写程序,将磅数转换为千克数。程序提示用户输入磅数,然后转换为千克并显示结果。1磅等于0.454千克
- 基于海康威视IP摄像头和虹软的MFC人脸识别系统开发教程——02使用示例代码构建MFC工程(海康威视IP摄像头部分)
- 求根节点到叶节点数字之和(C语言)
- 兄弟连兄弟会机构好不好
- C#绘图工具之Redim