配置:tomcat + jpa(eclipselink) + mysql,连接池使用了tomcat7自带的jdbc-pool. mysql是主从复制.
jdbc url形如jdbc:mysql://mysqlmaster,mysqlslave/hhsailor?failOverReadOnly=false
不定期发生异常导致网站挂掉,检查log发现主要异常信息:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. Connection closed after inability to pick valid new connection during fail-over.
大意是:连接关闭后不允许操作,由于fail-over时无法取得有效连接,连接被关闭.
google后发现有人在mysql forum上提过,可惜没有回复.
没有现成解决办法,只好看源码找了...
问题原因: 阅读mysql-connector代码后发现,只有在无法由主-从mysql数据库取得连接时,才会报出此错误.
而通过查看mysql日志发现mysql在此期间一切正常,并未发生任何问题.
联想到此问题常在周末休息之后发生在qa环境上,而mysql默认将8小时未活动的连接关闭,
由此推测关键原因是数据库已经关闭socket而连接池尚不知情,
解决方案1: 增大数据库连接保持时间,默认是8小时
将之增大到超过放假最长时间,比如10天,但感觉上这不是个好的解决方案.
show variables like 'wait_timeout' #单位秒
修改/etc/my.cnf
解决方案2: 连接池配置中加入验证,例如
testOnBorrow="true"
validationQuery="select 1"
validationInterval="30000"
连接池最终配置如下:
<Resource name="jdbc/MyDatasource_qa" auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
initialSize="50" minIdle="100"
maxActive="999" maxIdle="300" maxWait="5000"
username="xx" password="xx"
testOnBorrow="true"
validationQuery="select 1"
validationInterval="30000"
url="jdbc:mysql://mysqlmaster,mysqlslave/hhsailor?failOverReadOnly=false" />
分享到:
相关推荐
然而,如同任何软件一样,Postman在使用过程中可能会遇到各种问题,其中"启动闪屏且一直加载"的问题是用户可能遇到的一个常见困扰。这个问题通常出现在Postman的6.x版本上,特别是在某些特定的计算机配置或操作系统...
针对"unity游戏发布到安卓平台启动时黑屏时间过长"这一问题,我们可以从以下几个方面探讨解决方案: 1. **优化资源加载**:Unity游戏启动时,会加载大量的资源,如纹理、音频、模型等。如果资源过大或过多,加载...
其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。...
myeclise10 svn: E210004: Number is larger than maximum 解决方案 专门解决win7 64位操作系统 下svn插件问题。...为此问题,困扰了我两回, 第一次找了很久改了很多,后莫名好了;第二回果断留心记录下来, 分享保存。
总之,"护U使者"作为一款专注于解决特定问题的工具,为用户提供了快捷的解决方案,帮助恢复“安全删除硬件”图标的显示,确保USB设备的正确使用。在日常使用中,我们应该养成良好的系统管理和维护习惯,配合这样的...
4. **常见问题.txt**:这是一个FAQ文档,列出了用户可能会遇到的问题和解决方案,有助于解决使用过程中遇到的困扰。 5. **给站长的一封信.txt**:这可能是开发者写给网站管理员的一封信,可能包含使用指南、建议...
在这个特定的问题中,“Format '%x' invalid or incompatible with argument”是一个错误提示,表明在使用Protel 99 SE时遇到了格式化字符串与参数不匹配的错误。这个问题通常出现在尝试打印或处理数据时,由于程序...
标题中的"TrayPwrD3_v2020-11.zip"是...总的来说,"TrayPwrD3_v2020-11.zip"提供了一个针对性的解决方案,旨在帮助Windows 10用户解决困扰已久的鼠标卡顿问题,通过优化系统设置和可能的驱动修复,提升用户的使用体验。
是一个集考研资讯、复习资料、在线课程于一体的综合平台,特别适合需要一站式解决方案的考生。 以上列举的只是众多考研网站中的冰山一角,每个网站都有其特色和优势。考生在选择时应根据自身需求,如专业方向、...
之前在开发Hybid App的时候也被它困扰了很久,在百度上查了很久,网上所有的解决方案都惊奇地相似,只有下面两种: 1-针对谷歌浏览器加前缀进行适配 html{ -webkit-text-size-adjust:none; } 给html标签加上下面...
这个问题困扰了他很久,他为此进行了无数次的修改,但始终找不到满意的答案。这表明格罗培斯是一个对工作严谨、追求完美的设计师,他愿意付出大量的时间和精力去寻找最佳解决方案。 故事的转折点在于,格罗培斯在...
最近在linux上装Aphace,mysql,php时,遇到很多问题,在装apache和php遇到的问题要简单点,在百度,google上一搜就解决了,唯独在装mysql的时候遇到了一个问题困扰了我很久。 我用的是ubuntu7.0.我装mysql时,...
总的来说,这个压缩包提供的联想E40网卡驱动解决了用户在寻找驱动方面的困扰,对于那些遇到网络连接问题的联想E40用户来说,这是一个重要的解决方案。正确安装并使用这个驱动,可以确保笔记本的网络功能正常运作,...
独立研发的完全适应于高、中端网络管理软件领域需求的一套优秀、可靠、先进的网络设备资源与应用服务资源、全中文、通用管理系统,为广大客户从根本上解决了困扰已久的网络管理难的棘手问题,并且很有效的帮助网络...
这篇文章并非关于IT行业,而是描述了一个情感故事,主要涉及人物关系、情感发展和个人成长。由于标签为“资料”,我们可以理解为这是一篇个人情感经历的分享或者是小说片段。以下是文章中可以提取的一些知识点: 1....
在2007年,它可能是一个广受欢迎的解决方案,因为当时IFRAME攻击正变得越来越普遍。此工具通过扫描和分析系统中的IFRAME相关代码,识别并移除潜在的恶意组件,保护用户的电脑免受此类威胁的侵害。用户只需下载并运行...
这个问题来来回回困扰了我很久,一直没能妥善解决。 场景1:华为手机遮挡了屏幕底部。 场景2:进入应用时,虚拟键自动缩回,留下空白区域。 需求: 需要安卓能自适应底部虚拟按键,用户隐藏虚拟按键时应用要占满整个...
很多人都说虚拟机不易管理,原因是我们对于虚拟化的使用技巧掌握的还不是很好。今天,我们就来看三个Linux下...关于解决方案网上讨论得比较多,不过按网上的方法我一直没能解决,困扰我很久了(所以一直以来我都是用 N
其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。...