`

spring事物和db连接池的一些想法

阅读更多

当用spring的事物来管理 hibernate的session时,如果在事物中进行了 delete,save,update等操作,则连接不会释放,需要等到事物完成后才会进行关闭,所以当事物中有大量连接时 可想而知 ,这是个灾难。

按照我的想法,只对特定标识的 方法进行事物控制,这需要一个命名规则的问题。其他的方法不需要进行控制,没必要,要不然事物粒度太小了。

      我遇到了两个问题: updateA(  调用1000次  updateB)  ;  updateB( updateC,updateD,...)

我将update开头的方法都进行了事物拦截,   updateB是private的。

每次我调用updateA时 ,就会产生几千个数据库连接 ,于是连接池爆满,然后挂掉。

这里是能理解的  ,updateB中产生了 数据操作, 于是连接不会关闭,等待事物关闭后才能释放。

 

我去掉数据库连接池,采用直连的方式,连接数据库,则连接就不会超过10个,当数据库连接调用完后,连接释放了。

 

我一直搞不明白这是怎么回事,貌似在 直连和连接池下,事物的实现方式是不一样的  。唉去研究他们的源码。郁闷

分享到:
评论

相关推荐

    spring.net中文手册在线版

    Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NET以Java版的Spring框架为...

    【分布式事务----LCN】LCN原理及使用方式.docx

    TxClient的代理连接池实现了javax.sql.DataSource接口,并重写了close方法,事务模块在提交关闭以后TxClient连接池将执行"假关闭"操作,等待TxManager协调完成事务以后在关闭连接。 对于代理连接池的优化 自动超时...

    Spring3中配置DBCP,C3P0,Proxool,Bonecp数据源

    在Spring3中配置数据源,包括DBCP,C3P0,Proxool,Bonecp主要的数据源,里面包含这些数据源的jar文件和依赖文件及配置文件。。 如Bonecp目前听说是最快的数据源,速度是传统的c3p0的25倍, bonecp.properties文件: ...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    连接池 串行化技术 影子Master架构 批量写入 配置中心 去中心化 通讯机制 同步 RPC RMI 异步 MQ Cron 数据层架构设计 缓存优化 DAO&ORM; 双主架构 主从同步 读写分离 性能优化架构能力 代码级别...

    DBMS:用Java编写的基本DBMS

    数据库管理软件 ... 缓冲池在内存中缓存活动的元组和页面,并处理并发控制和事务 目录,用于存储有关可用表及其架构的信息 最后编辑:2014年Spring 致谢 麻省理工学院的框架。 想要查询更多的信息:

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的...

    J2eeFAST企业级快速开发平台-其他

    15、连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。16、产品许可: 对项目进行许可证书控制,防止程序拷贝运行。17、公告通知: 针对项目升级重要情况出通知公告直接生成静态页面,可以...

    JAVA项目开发全程实录(含电子书和所有源代码)

    7.6.2 配置数据库连接和事务管理器 316 7.6.3 配置Spring控制器的请求映射 317 7.7 会员管理模块设计 319 7.7.1 会员管理模块概述 319 7.7.2 会员管理模块技术分析 320 7.7.3 会员注册的实现过程 321 7.7.4 会员登录...

Global site tag (gtag.js) - Google Analytics