近期写了一个数据库採集程序,大概过程是将SQLSERVER数据库的数据定时採集到Oracle数据库。

1小时出一次数据,每次数据量在2W左右。环境採用Sping3+hibernate4,数据库连接池採用C3p0

奇怪的时候每隔一段时间都会报:“c3p0 connection is already closed”

我開始的数据库连接池配置例如以下:oracle数据库开启事务,而採集的sqlserver数据库没有开启事务

jdbc.driverClass=oracle.jdbc.OracleDriver

jdbc.jdbcUrl=jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=10.12.18.240)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orcl)))

jdbc.user=appds

jdbc.password=appds

c3p0.acquireIncrement=5

c3p0.maxIdleTime=60

c3p0.maxPoolSize=80

c3p0.minPoolSize=10

c3p0.initialPoolSize=10

c3p0.maxStatements=0

c3p0.idleConnectionTestPeriod=60

c3p0.acquireRetryAttempts=30

c3p0.acquireRetryDelay=1000

c3p0.breakAfterAcquireFailure=false

c3p0.testConnectionOnCheckout=false

jdbcdata.driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver

jdbcdata.jdbcUrl=jdbc:sqlserver://10.12.18.241:1433;databaseName=data;

jdbcdata.user=cawasdatauser

jdbcdata.password=cawas606

c3p0ObsDataDB.maxPoolSize=30发现了问题,我首先在c3p0上加上调试信息的配置:

c3p0.debugUnreturnedConnectionStackTraces=true

c3p0.unreturnedConnectionTimeout=90 (我的连接超时时间是60s。所以这设置了90s)

applicationContext数据源配置添加响应配置

果然发现非常多未回收的连接,正常情况下超时未回收的连接会有一些。可是不会这么多啊。

经查资料在hibernate sessionFacory中添加配置(http://hi.baidu.com/austincao/item/fc9907da3d854e44fa576861)

Spring3.1去掉了HibernateDaoSupport类。

hibernate4须要通过getCurrentSession()获取session。而且设置

org.springframework.orm.hibernate4.SpringSessionContext

在Spring @Transactional声明式事务管理,”currentSession”的定义为: 当前被 Spring事务管理器 管理的Session,此时应配置:

hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext。

另外在hibernate中使用sessionFactory.getCurrentSession()获取session时,须要为方法声明事务。为此将sqlserver

採集的代码也加上事务

c3p0 服务启动获取连接超时_一次c3p0连接池连接异常错误的排查相关推荐

  1. c3p0 服务启动获取连接超时_微服务架构中的熔断、降级

    微服务架构中熔断和降级是保证服务高可用的一项重要功能点,微服务区别于一体化项目的最大区别也再于熔断和降级,很多微服务项目的开发人员对熔断的理解就是当服务不可用的时候,为了让整体服务可以正常运行,需要让 ...

  2. c3p0 服务启动获取连接超时_JDBC数据库连接池

    连接池的本质是构建一个容器,容器是用来存创建好的线程,http连接.数据库连接.netty连接等 各个连接池的使用大致分为三个部分 1.首先是初始化连接池,根据设置相应的参数.连接池的大小.核心连接数 ...

  3. 连接超时_记一次网络请求连接超时的事故

    点击上方蓝色字关注我们~前言 从HTTP请求超时.重试机制.操作系统网络等层面剖析了事故的原因,最终解决业务问题. 这里先抛两个问题: 1)你遭遇过由于网络连接或请求超时造成的生产事故吗? 2)你知道 ...

  4. c3p0 服务启动获取连接超时_c3p0获取连接Connection后的Close()---释疑

    abstract class AbstractPoolBackedDataSource extends PoolBackedDataSourceBase implements PooledDataSo ...

  5. 谷歌浏览器连接超时_系统超时重试机制(OpenResty/Nginx)

    在实际开发当中,很多故障的产生都是因为没有意识到超时设置的重要性而造成的.如果不设置超时机制,就有可能导致连锁反应,最终系统雪崩.有些中间件天然集成了超时重试的机制,但是在设计当中需要注意的是:读服务 ...

  6. mysql服务启动成功后卸载_安装,启动与卸载Mysql系统服务(MYSQL常见问题)

    将Mysql添加到Windows系统服务中: 1.. 安装服务. 在Windows2000下,安装完成后,并没有把MySQL安装成服务,我们必须执行下面的语句把MySQL注册为服务:installdi ...

  7. sq服务启动后又停止_“本地计算机上的SQL SERVER服务启动后又停止了”解决方法...

    本方法主要是解决SQL Server运行过程中出现的"本地计算机上的MSSQLSERVER服务启动后又停止了.一些服务自动停止,如果它们没有什么可做的"解决方法. 笔者ASP运行环 ...

  8. 英雄联盟手游内测服务器维护,《英雄联盟手游》内测测试服连接超时解决方法 LOL手游国服连接超时如何解决...

    LOL手游国服连接超时怎么办?怎么解决?LOL手游现已开启了超然测试咯,不少玩家已经下载好游戏准备体验了,但是进入游戏却一直出现连接超时的情况呢,如何才能解决呢,这个情况遇到确实很麻烦呀,下面就给大家 ...

  9. c++ socket 连接超时_Web性能优化之-HTTP长连接

    前言: 当我们使用浏览器访问一个Web站点的时候,我们的电脑会和Web服务器建立一条HTTP的连接,那么在这个连接层面是否可以进行性能优化呢?下面我们要讲解的就是HTTP的长连接和短连接的相关知识. ...

  10. java模拟连接超时_Java:使用Toxiproxy模拟各种连接问题

    java模拟连接超时 用Toxiproxy和Java的HttpURLConnection模拟各种连接问题,以查看产生了什么样的错误:连接超时vs.读取超时vs.连接被拒绝-. 结果: 系统:openj ...

最新文章

  1. 玩转Spring Cloud之配置中心(config server config client)
  2. 3.1.4 操作系统之内存的分配与回收
  3. DjangoFreshStore项目一
  4. C#创建Access
  5. qt设置滚动区域的滚动条的样式
  6. Flutter轮播图
  7. 什么是原子操作?Linux下有哪些原子操作API
  8. 统计每个月兔子的总数
  9. linux读取.data文件,Android获取文件夹路径 /data/data/
  10. Vscode代码量统计
  11. Excel突然出现很多小黑点
  12. /usr/local/bin/zsh没有文件或目录问题
  13. 世界海洋日 | TcaplusDB号召你一同保护海洋生物多样性
  14. 万物互联大数据研究正式展开人才紧缺
  15. 计算机专业四大名校排名,美国CS专业四大名校!总有一款适合你!
  16. NOI题库答案 (1.7 字符串基础)(1-20)
  17. python数据分析:使用lifetimes进行客户终身价值(CLV)探索
  18. Android/Java汉字按照拼音排序
  19. 网络游戏《丛林战争》开发与学习之(一):网络编程的基础知识
  20. 金山打字通WINDOWS XP及WINDOWS 2003下安装后普通用户无法使用的问题

热门文章

  1. PS中有哪些快速抠图的方法
  2. 如何干净完整卸载office2010
  3. 使用微PE工具进行u盘重装系统
  4. 编译原理(第3版)第1章引论课后题答案
  5. VScode字体超大怎么改回来?
  6. Mac-VMware-分辨率修改
  7. tspline工具_Rhino 6 如何使用 T-spline?
  8. 计算机数值分析为什么那么难,数值分析方法
  9. 介绍几个能下载中英文双语字幕电影的网站
  10. kb931125—rootsupd_下载_KB931125-rootsupd补丁 官方版_6z6z下载站