Jboss 服务“数据库连接已关闭”

问题描述

服务采用JDBC进行数据库连接,在Jboss的deploy文件下放入数据源配置文件;下面是第一段报错信息:2015-01-2723:27:10,676WARN[org.jboss.resource.connectionmanager.TxConnectionManager](ajp-172.16.2.6-8009-63)Connectionerroroccured:org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@16b5a8b6[state=NORMALmc=org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@18232e85handles=0lastUse=1422372303124permit=falsetrackByTx=falsemcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@5fc8b669context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@723fd89fxaResource=org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@2dc32a24txSync=null]com.microsoft.sqlserver.jdbc.SQLServerException:Readtimedoutatcom.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1509)atcom.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1547)atcom.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:3295)atcom.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:4360)atcom.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:700)atcom.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:600)atcom.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4003)atcom.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1550)atcom.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:160)atcom.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:133)atcom.microsoft.sqlserver.jdbc.SQLServerStatement.execute(SQLServerStatement.java:573)atorg.jboss.resource.adapter.jdbc.CheckValidConnectionSQL.isValidConnection(CheckValidConnectionSQL.java:58)atorg.jboss.resource.adapter.jdbc.BaseWrapperManagedConnectionFactory.isValidConnection(BaseWrapperManagedConnectionFactory.java:559)atorg.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkValid(BaseWrapperManagedConnection.java:321)atorg.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.matchManagedConnections(LocalManagedConnectionFactory.java:402)atorg.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:219)atorg.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:622)atorg.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:404)atorg.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:381)atorg.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:496)atorg.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)atorg.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89)ategret.business.order.impl.OrderScheduleManagerImpl.getScheduleListByBarcode(OrderScheduleManagerImpl.java:821)ategret.ehis.ws.EHisWS.getScheduleListByBarcode(EHisWS.java:1047)atsun.reflect.GeneratedMethodAccessor315.invoke(UnknownSource)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.jboss.wsf.container.jboss50.invocation.InvocationHandlerJSE.invoke(InvocationHandlerJSE.java:108)atorg.jboss.ws.core.server.ServiceEndpointInvoker.invoke(ServiceEndpointInvoker.java:222)atorg.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:474)atorg.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:295)atorg.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:205)atorg.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:131)atorg.jboss.wsf.common.servlet.AbstractEndpointServlet.service(AbstractEndpointServlet.java:85)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:717)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)atorg.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)atorg.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)atorg.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)atorg.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)atorg.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)atorg.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:436)atorg.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:384)atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)atjava.lang.Thread.run(Thread.java:662)

这段超时连续出现了很多次之后出现了下面的错误:2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)com.microsoft.sqlserver.jdbc.SQLServerException:该连接已关闭。2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)atcom.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:130)2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)atcom.microsoft.sqlserver.jdbc.SQLServerConnection.checkClosed(SQLServerConnection.java:294)2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)atcom.microsoft.sqlserver.jdbc.SQLServerConnection.prepareStatement(SQLServerConnection.java:1980)2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)atorg.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.doPrepareStatement(BaseWrapperManagedConnection.java:465)2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)atorg.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:460)2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)atorg.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:243)2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)ategret.ie.dao.impl.IEReceiveMessageDAOImpl.getIEMessage(IEReceiveMessageDAOImpl.java:1412)2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)ategret.ie.IEConsumeMessageProcessing.run(IEConsumeMessageProcessing.java:336)2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)atjava.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)2015-01-2723:27:19,942ERROR[STDERR](pool-22-thread-9)atjava.lang.Thread.run(Thread.java:662)

下面分别附上两个错误对应的自己写的代码:第一段:publicOrderSchedule[]getScheduleListByBarcode(Stringbarcode,Stringpatientid,Stringdeptno)throwsException{ArrayList<OrderSchedule>scheduleList=newArrayList<OrderSchedule>();List<OrderScheduleEvents>orderScheduleEvent=newArrayList<OrderScheduleEvents>();Connectionconn=null;Statementstmt1=null;Statementstmt2=null;ResultSetrset=null;ResultSeteventSet=null;try{conn=egretdataSource.getConnection();//第一个错误是这里stmt1=conn.createStatement();stmt2=conn.createStatement();

第二段:@OverridepublicList<IEMessage>getIEMessage(StringserviceIds)throwsException{//Connectioncon=null;PreparedStatementps=null;ResultSetrs=null;List<IEMessage>list=newArrayList<IEMessage>();Stringsql="selecttop100*fromie_messagewith(nolock)wheremq_flag=0";if(serviceIds!=null)sql+="andservice_idin('BS005','BS006','BS019')";elsesql+="andservice_idnotin('BS005','BS006','BS019')";try{con=this.getCon();ps=con.prepareStatement(sql);//第二个错误是这里抛出的rs=ps.executeQuery();IEMessagemessage=null;

解决方案

解决方案二:
第一个问题我猜想是跟数据库表性能有关系,数据量太大导致产生死锁;第二个问题完全不理解啊,这个数据源的datasource应该没出错,否则整个程序会挂掉,怀疑是获取到的connection有问题,但是为什么别的地方也在用同一个datasource获取connection就不会报错?

时间: 2024-07-30 15:17:57

Jboss 服务“数据库连接已关闭”的相关文章

淘宝快速支付服务已关闭怎么回事?

  截至目前,登录手机淘宝购买彩票快速支付功能仍无法正常使用,并直接跳转至页面提示"淘宝快速支付服务已关闭",据了解,此情况已持续数小时. 支付宝解释称,原因是支付宝和淘宝彩票关于快速支付的协议到期了.这个续签就可以继续使用,稍后便可恢复.淘宝方面人士表示用户暂时可通过其他支付渠道进行彩票购买.

win7系统打印机提示“打印服务已关闭”怎么办

  1.按下"Win+R"组合键,呼出运行,然后输入"services.msc"回车打开服务窗口; 2.然后找到print Splooer服务,右键点击,然后点击禁用; 3.打开计算机,依次打开"C盘"-"windows"-"system32",在该文件夹下找到"spoolsv.exe",并删除; 4.依次打开"C盘"-"WINDOWS"-&quo

asp.net- VS报错:javascript 语言服务遇到错误且已关闭

问题描述 VS报错:javascript 语言服务遇到错误且已关闭 vs2013安装developer assistant插件后,在aspx页面写js脚本就提示如下错误,大家遇到类似问题吗? 解决方案 遇到过,,,,把那个插件卸载后重新安装后就可以了,,,,,,,,, 解决方案二: 估计是那个插件的问题吧,,

.NET 多线程发送WebRequest访问失败,异常信息:&amp;amp;quot;WebException,基础连接已关闭:连接意外关闭。&amp;amp;quot;(ServicePointManager最大并发数已修改) ,请做过这方面的专家指点一二。

问题描述 前段时间公司要求让我完成一个测试工具,此测试工具用于测试广域网负载均衡.我们的目的是测试客户的负载均衡设备是否正常运转,以及在各种情况下负载均衡设备的运行状况,以保证最终的客户能够时时访问到应用.工具的结构和实现已经大部分完成了,但是在测试阶段,却发现了一些问题,这些问题十分没有规律性,可能涉及一些网络网络方面的知识,本人虽然做的是Web开发,但是对于网络只是也是知之甚少,通过了很长一段的研究,还是没能找到根源.现在将问题分享给大家,希望大家都能有所收获.程序问题:1.WebReque

ExecuteScalar 要求已打开且可用的连接。连接的当前状态为已关闭(已连接)

问题描述 我用asp.net做了一个管理系统,在每次编译后,布署到IIS,第一次加载时,可能需要编译有点缓慢,然后我反复点菜单,链接到页面,偶尔随机会报这两个错ExecuteScalar要求已打开且可用的连接.连接的当前状态为已关闭ExecuteScalar要求已打开且可用的连接.连接的当前状态为已连接我的代码如下publicintGetRecorders(stringsql){SqlConnectionconn=Connection;SqlCommandcmd=newSqlCommand("s

聚美优品发布声明回应已关闭“祥鹏恒业”的店铺

新京报讯 (记者刘夏 梁薇薇)针对媒体报道供应商祥鹏恒业通过聚美优品.京东.1号店等多个电商平台涉嫌售假一事,7月28日下午,聚美优品发布声明回应,称已关闭"祥鹏恒业"的店铺,京东也发声明称将关闭相关店铺.双方均表示将提供无条件退货服务. 昨日腾讯报道<暗访电商假货链条:聚美等涉知假售假>一文,文中称经暗访发现,有一家供应商祥鹏恒业通过多个电商平台销售假冒廉价奢侈品,这些电商平台包括聚美优品.京东.1号店等. 报道称,祥鹏恒业涉猎服装.箱包皮具.珠宝.眼镜.化妆品.香水.红

Oracle 11gR2 RAC集群服务启动与关闭总结

<Oracle 11gR2 RAC集群服务启动与关闭总结> 新年新群招募: 中国Oracle精英联盟 170513055 群介绍:本群是大家的一个技术分享社区,在这里可以领略大师级的技术讲座,还有机会参加Oracle举办的技术沙龙,与兴趣相投的小伙伴一起笑谈风云起,感悟职场情! 引言:这写篇文章的出处是因为我的一名学生最近在公司搭建RAC集群,但对其启动与关闭的顺序和原理不是特别清晰,我在教学工作中也发现了很多学员对RAC知识了解甚少,因此我在这里就把RAC里面涉及到的最常用的启动与关闭顺序和

IE9怎么重新打开已关闭的网页

如果您正在使用IE9浏览网页,不小心关掉了正在看的网页,或者您想重新打开已关闭的网页,这时可以在IE9中打开一个"新建选项卡",或使用快捷键"Ctrl+T"快速新建一个空白选项卡页. 然后在"新建选项卡"的页面中,点击"重新打开已关闭的选项卡",就可以找回已关闭的网页了. 如果您正上网上到一半,突然有事要关闭浏览器,希望下次打开的时候还是这些网页,难道要一个一个把网址都保存起来吗? 您可以先关闭整个IE浏览器窗口,在下次启动I

解决word文档工作时跳出word已关闭的办法

解决word文档工作时跳出word已关闭的办法: 1.在电脑桌面找开始,打开运行. 2.在运行命令行输入regedit,然后确定. 3. 显示注册表编辑器,在里面依次打开HKEY_CURRENT_USERSoftwareMicrosoftOffice12.0. 4.在12.0里面找到word项,然后用鼠标右键单击word项,显示下拉栏,在里面点击重命名. 5.在重命名里输入word0.名称更改成word0. 6.然后在返回到注册表编辑器里依次打开HKEY_LOCAL_MACHINESOFTWAR