`

今天用spring 事务出了一个很郁闷的问题

阅读更多

这个项目采用 ssh 框架,使用spring的声明式代理拦截器事务管理hibernate的session关闭,这样平时是很正常的。

可我有一个方法会产生几百条的查询语句,public  function   a {for(1000)   b();} private  function  b(){querydb();} // 这只是一条查询语句  。 一调用a方法   于是乎 就 “can not open connection”。从监视器能看到服务器打开了好几百个数据库连接。

我知道spring拦截器会拦截我的方法 并为其开一个事物 ,在配置文件里不配置这个方法,不拦截于是就不会有事物了,就不会再单独打开链接了,事物在这本来就是重复了,不应该在单独开启事物的。不知道spring有没有提供这个参数,去看文档了,先记下这么多,等解决了问题,再来详细整理。

 

这个问题已经找到原因了, 这些没有释放的连接 是因为有语句执行了update 和inset,delete语句,先汗一个

 

操作数据的 那些语句提取出来,集中进行 commit,这样就ok了

分享到:
评论

相关推荐

    Spring事务流程图

    总的来说,Spring事务管理是一个强大的工具,它简化了事务处理的复杂性,使得开发者能够专注于业务逻辑,而无需过多关注事务的细节。通过理解和使用Spring事务流程图,我们可以更好地设计和优化我们的应用程序,确保...

    Spring自定义切面事务问题

    ### Spring自定义切面事务问题 #### 背景与挑战 在开发基于Spring框架的应用程序时,我们经常需要利用AOP(面向切面编程)来实现横切关注点(如日志记录、安全控制、事务管理等)的模块化处理。其中,事务管理是...

    Spring事务原理、Spring事务配置的五种方式

    Spring事务管理创造性的解决了很多以前要用重量级的应用服务器才能解决的事务问题,那么其实现原理一定很深奥吧?可是如果读者仔细研究了Spring事务管理的代码以后就会发现,事务管理其实也是如此简单的事情。这也...

    Spring事务管理失效原因汇总

    标题“Spring事务管理失效原因汇总”指出了本文的核心内容是分析在使用Spring框架进行事务管理时可能遇到的问题及其原因。描述部分进一步说明了事务失效的后果往往不明显,容易在测试环节被忽略,但在生产环境中出现...

    spring事务操作试验

    例如,可以使用@Transactional注解在方法级别声明一个事务,该方法内的所有数据库操作将在同一个事务中执行。 文件名如"spring-jdbc-tran1"、"spring-jdbc-tran2"和"spring-jdbc-tran3"暗示了实验可能涉及Spring与...

    spring事务案例分析.zip

    7. **案例分析**:"SPRING事务管理案例分析.docx"很可能包含了具体的项目实例,详细讲解了如何在Spring项目中配置和使用事务管理,以及如何解决实践中遇到的问题。而"studyspring"可能是源代码目录,包含了实现这些...

    实验 spring 声明事务

    实验 "Spring 声明事务" 是 Java 高级编程中的一个重要环节,旨在让学生掌握 Spring 框架中声明式事务管理的配置和使用。在实际应用中,事务管理是确保数据一致性、完整性和可靠性的关键组件。Spring 提供了声明式...

    spring学习事务源码

    本文将深入探讨Spring事务管理的源码,理解其背后的实现机制。 首先,Spring事务管理有两种主要模式:编程式事务管理和声明式事务管理。编程式事务管理通过调用`PlatformTransactionManager`接口提供的方法进行显式...

    Spring事务管理A方法内部调用B方法的回滚问题测试代码

    在Spring框架中,事务管理是核心特性之一,用于确保数据操作的一致性和完整性。当一个方法(A方法)内部调用另一个方法(B方法)时,可能会遇到事务控制...这个示例代码对于理解和调试Spring事务管理的问题非常有帮助。

    Spring事务处理-ThreadLocal的使用

    在实际应用中,理解ThreadLocal在Spring事务处理中的作用有助于优化并发性能和解决多线程环境下的事务问题。例如,如果线程之间需要共享数据,但又不想影响其他线程,ThreadLocal就是一个理想的选择。同时,也要注意...

    Spring事务管理开发必备jar包

    在Spring框架中,事务管理是实现业务...综上所述,这个资源包涵盖了Spring事务管理开发的各个方面,从基础框架到具体实现,为开发者提供了全面的支持。理解并掌握这些知识点,将有助于构建稳定、健壮的事务处理系统。

    spring声明事务的配置

    - `PROPAGATION_NEVER`:不允许在事务中运行,如果已经在一个事务中,将抛出异常。 - `PROPAGATION_REQUIRES_NEW`:总是新建一个事务,如果存在事务,暂停当前事务。 - `PROPAGATION_SUPPORTS`:如果当前存在事务...

    关于SpringMyBatis纯注解事务不能提交的问题分析与解决

    ### 问题背景 在开发基于Spring框架的应用程序时,经常需要...此外,还需要注意事务管理器的正确配置,确保所有事务相关的组件都正确地引用了同一个数据源实例。通过上述方法,可以有效提升应用程序的可靠性和效率。

    spring 事务传播与隔离级别DEMO

    本DEMO主要探讨的是Spring事务的传播行为和隔离级别,这些概念对于理解和优化数据库操作至关重要。让我们深入理解这些概念及其实际应用。 首先,我们来谈谈事务的传播行为。在Spring中,当一个方法被另一个具有事务...

    spring-tx事务管理实例

    Spring事务管理的传播行为是另一个关键概念,包括REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER和NESTED等七种。这些行为定义了在一个事务方法被另一个事务方法调用时应该如何处理事务。例如...

    spring事务管理

    ### Spring事务管理详解 #### 一、事务管理基础概念 在深入探讨Spring事务管理之前,我们需要先理解什么是事务。事务可以被定义为一系列的操作集合,这些操作作为一个整体被提交或回滚。简单来说,事务就是一个不...

    Spring事务详解

    Spring事务还支持多种隔离级别,包括READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ、SERIALIZABLE,不同的隔离级别可以防止脏读、不可重复读、幻读等并发问题,但也会对性能产生影响,因此需要根据实际需求...

    Spring事务类型祥解

    - `value`: 指定事务管理器的bean名称,如果不指定,默认使用`@Configuration`类中定义的第一个`PlatformTransactionManager`。 - `propagation`: 事务传播行为,如`REQUIRED`(默认)表示如果当前没有事务,则新建...

    spring 事务管理的理解

    Spring 框架是Java开发中的一个核心组件,尤其在企业级应用中广泛使用。它提供了许多特性,其中一项重要功能就是事务管理。事务管理确保了数据库操作的原子性、一致性、隔离性和持久性(ACID属性),这对于任何处理...

Global site tag (gtag.js) - Google Analytics