关于quartz中占满数据库连接问题

问题描述

项目中使用了quartz1.6.5版本,一直在was上运行的很稳定,有一天突然发生如下错误:[14-2-128:22:34:326CST]00000030LocalDataSourEorg.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandlermanageMisfireHandler:Errorhandlingmisfires:FailedtoobtainDBconnectionfromdatasource'springNonTxDataSource.IMESScheduler':com.ibm.websphere.ce.cm.StaleConnectionException:Io异常:ConnectionresetDSRA0010E:SQL状态=null,错误代码=17,002org.quartz.JobPersistenceException:FailedtoobtainDBconnectionfromdatasource'springNonTxDataSource.IMESScheduler':com.ibm.websphere.ce.cm.StaleConnectionException:Io异常:ConnectionresetDSRA0010E:SQL状态=null,错误代码=17,002[Seenestedexception:com.ibm.websphere.ce.cm.StaleConnectionException:Io异常:ConnectionresetDSRA0010E:SQL状态=null,错误代码=17,002]atorg.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:167)atorg.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3108)atorg.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:3887)atorg.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:3907)Causedby:com.ibm.websphere.ce.cm.StaleConnectionException:Io异常:ConnectionresetDSRA0010E:SQL状态=null,错误代码=17,002atsun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:67)atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)atjava.lang.reflect.Constructor.newInstance(Constructor.java:522)atcom.ibm.websphere.rsadapter.GenericDataStoreHelper.mapExceptionHelper(GenericDataStoreHelper.java:525)atcom.ibm.websphere.rsadapter.GenericDataStoreHelper.mapException(GenericDataStoreHelper.java:580)atcom.ibm.ws.rsadapter.AdapterUtil.mapException(AdapterUtil.java:2160)atcom.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:1683)atcom.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:1256)atcom.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:1990)atcom.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1662)atcom.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2363)atcom.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:934)atcom.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:610)atcom.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:449)atcom.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:418)atsun.reflect.GeneratedMethodAccessor906.invoke(UnknownSource)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.lang.reflect.Method.invoke(Method.java:618)atorg.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:301)atorg.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)at$Proxy5.getConnection(UnknownSource)atorg.springframework.scheduling.quartz.LocalDataSourceJobStore$2.getConnection(LocalDataSourceJobStore.java:125)atorg.quartz.utils.DBConnectionManager.getConnection(DBConnectionManager.java:112)atorg.quartz报数据库连接不了,但过了十几分钟后,数据库又能连接的上,系统恢复正常(没有任何人为操作),看数据库监控那边,SELECT*FROMQUARTZ_LOCKSWHERELOCK_NAME=:1FORUPDATE这句话占用很高的连接数,但这个表是在quartz中使用的,对应用系统不可见,这是不是quartz内部的BUG引起的,望路过的大牛答疑解惑,谢谢!

解决方案

解决方案二:
是不是又未及时释放的链接啊
解决方案三:
可能定时任务突然数据量大,要看定时怎么写的导致链接无法释放。。
解决方案四:
你看看quartz的数据源怎么设置的?
解决方案五:
quartz调用的操作数据库的方法没有释放连接,和quartz没关系吧quartz只是定时任务。
解决方案六:
楼主这种应该系统可靠性和稳定性的问题,估计看代码真心找不出来原因,你看你的那句sql是在哪里打出来的,在那边看看代码可能的性能问题
解决方案七:
查询超时?占用很高的连接数,具体啥意思?
解决方案八:
没遇到过这样的问题帮顶
解决方案九:
楼主,问题解决没有啊?遇到类似问题了

时间: 2024-08-04 07:48:00

关于quartz中占满数据库连接问题的相关文章

如图中-怎么让CFormView中的对话框占满整个client区域

问题描述 怎么让CFormView中的对话框占满整个client区域 解决方案 获取formview的大小.然后movewindow等移动框架大小. 解决方案二: http://blog.csdn.net/wlsgzl/article/details/34099313 解决方案三: 没有明白我的意思?如果把CFormView中的控件全部MoveWindow,是非常麻烦的,有没有设置可以让CFormView中的Dialog Frame自动充满CFormView的Client区域

微信小程序中使元素占满整个屏幕高度实现方法_JavaScript

微信小程序中使元素占满整个屏幕高度实现方法 在项目中经常要用到一个容器元素占满屏幕高度和宽度,然后再在这个容器元素里放置其他元素. 宽度很简单就是width:100% 但是高度呢,我们知道的是height:100%必须是在父元素的高度给定了的情况下才可以. 以前我的做法是用js获取屏幕的高度,然后将其赋值给height, 屏幕高度在网页中为:window.innerHeight; 在微信小程序中则需要调用wx.getSystemInfo接口,然后通过setData赋值 但是显然通过js来进行的,

SQLServer数据库中开启CDC导致事务日志空间被占满的原因

SQLServer中开启CDC之后,在某些情况下会导致事务日志空间被占满的现象为: 在执行增删改语句(产生事务日志)的过程中提示,The transaction log for database '***' is full due to 'REPLICATION'(数据库"***"的事务日志已满,原因为"REPLICATION"). CDC以及复制的基本原理粗略地讲,对于日志的使用步骤如下: 1,每当基础表(开启了CDC或者replication的表)产生事务性操作

安卓-Android网格布局怎么设置组件占满指定的行和列?

问题描述 Android网格布局怎么设置组件占满指定的行和列? enter code here <GridLayout xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_heigh

ios-tableView占满整个屏幕

问题描述 tableView占满整个屏幕 在app中需要用到一个小 tableView ,我设置了尺寸,但是运行之后 tableview 占了整个屏幕. -(void)viewDidLoad{ UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0 0.0 20.0 60.0) style:UITableViewStylePlain]; self.view = tableView; } - (UITab

lex utton-Flex 的Button如何让文字占满按钮,不被遮挡

问题描述 Flex 的Button如何让文字占满按钮,不被遮挡 private function addButton(text:String, buttonPage:HBox):void { var btn:Button = new Button(); btn.label = text; btn.setStyle("fontSize",12); //btn.setStyle("margin", 0); //btn.setStyle("padding&quo

imageview-Android两个控件布局,占满父亲

问题描述 Android两个控件布局,占满父亲 我的mainactivity的布局文件,默认的是一个相对布局.我里面就两个控件,一个Button和一个ImageView.我想让Button紧贴着父亲的上面,ImageView占满剩下的区域.Button的高度就普通的就行.我贴上我的代码,老出错.一运行就崩掉. <Button android:id="@+id/mybtn" android:layout_alignParentTop="true" android

Win7 64位编译boost内存占满卡死

问题描述 Win7 64位编译boost内存占满卡死 Win7 4g内存 VS2013 64位编译Boost 1_57_0 运行命令bjam.exe stage --toolset=msvc-12.0 --without-graph --without-graph_parallel --without-math --without-mpi --without-serialization --without-wave --without-test --without-program_options

急求大神!~java poi 在 excel中每满6万行生成一个新的sheet

问题描述 急求大神!~java poi 在 excel中每满6万行生成一个新的sheet 急求大神!~java poi 在 excel中每满6万行生成一个新的sheet(并且在新sheet继续后面的输入) 解决方案 我能做到每N行生成一个sheet,但是没办法把excel数据继续写进去 解决方案二: 我的思路是设置个标记,在满sheet的条件后继续输入flag以后的内容,试下可行否? 解决方案三: poi性能还是有问题的.写到csv里用excel自动打开还是可以的. 解决方案四: 周一的时候做出