SSH 占用数据库连接不释放问题

SSH框架的项目在访问数据库的时候,访问完成后一直占用链接,不释放,导致过了一段时间后,服务器没挂,就是有访问数据库的连接是时候,一直卡住

解决办法:

1.配置spring对应的hibernate文件:

<prop key="hibernate.connection.release_mode">after_statement</prop> 事务提交后自动释放连接

2配置事务

<!--spring 声明式事务管理器 -->

<bean id="transactionManager"

class="org.springframework.orm.hibernate3.HibernateTransactionManager">

<property name="sessionFactory" ref="sessionFactory" />

</bean>

<!--Spring事务拦截器 -->

<bean id="transactionInterceptor"

class="org.springframework.transaction.interceptor.TransactionInterceptor">

<property name="transactionManager" ref="transactionManager" />

<property name="transactionAttributes">

<props>

<!-- 以browse、list、load、get及is开头的所有方法采用只读型事务控制类型 -->

<prop key="browse*">PROPAGATION_REQUIRED,readOnly</prop>

<prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>

<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>

<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>

<prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>

<!-- 所有方法均进行事务控制,如果当前没有事务,则新建一个事务 -->

<prop key="*">PROPAGATION_REQUIRED</prop>

</props>

</property>

</bean>

<!-- 自动代理类 -->

<bean

class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">

<property name="beanNames">

<list>

<value>*Impl</value>

</list>

</property>

<!-- 这个属性为true时,表示被代理的是目标类本身而不是目标类的接口 -->

<property name="proxyTargetClass">

<value>true</value>

</property>

<!-- 依赖注入上面定义的事务拦截器transactionInterceptor -->

<property name="interceptorNames">

<list>

<value>transactionInterceptor</value>

</list>

</property>

</bean>

SSH 占用数据库连接不释放问题,布布扣,bubuko.com

时间: 2024-10-16 15:27:33

SSH 占用数据库连接不释放问题的相关文章

数据库连接无法释放

问题已解决,发现是数据库连接无法释放,不知道是什么原因,同样的代码在本地就是好的,在服务器端就有问题,最后在连接串里加入以下语句解决问题. Pooling=true; MAX Pool Size=512;Min Pool Size=50;Connection Lifetime=30 原文地址:https://www.cnblogs.com/tianciliangen/p/8110625.html

WPF BitmapImage 占用资源无法释放、无法删除问题

原文:WPF BitmapImage 占用资源无法释放.无法删除问题 使用Image控件显示图片后,虽然自己释放了图片资源,Image.Source =null 了一下,但是图片实际没有释放.解决方案:修改加载方式~        public static BitmapImage GetImage(string imagePath)        {            BitmapImage bitmap = new BitmapImage();            if (File.E

数据库连接资源释放

项目运行过程中遇到了tomcat连接池资源不释放,导致系统崩溃的问题. 查找各种网站,在数据库中进行如下配置 (tomcat): 1.initialSize :连接池启动时创建的初始化连接数量 2.maxActive :连接池中可同时连接的最大的连接数 3.maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负数表示不限制 4.minIdle:连接池中最小的空闲的连接数,低于这个数量会被创建新的连接 5.maxWait  :最大等待时间,当没有可用连接时,连接池等待连接

DOS命令_查询某个端口的占用情况并释放

>netstat -aon | findstr "80″Proto   Local Address           Foreign Address         State             PID====   ============       ==============   ==========   ======TCP     0.0.0.0:80                     0.0.0.0:0                 LISTENING      

释放占用的内存

在Java中,如果我们创建了一个对象实例,则这个实例就会在内存中开辟一块空间;当我们给这个实例各种数据处理,这些数据的处理都经过内存,最终还会在这个对象内存中保存最终的数据;如果在处理完了之后,建议将这个对象开辟的内存空间关闭,将占用内存给释放掉.什么时候释放呢?在这个对象处理完所要处理的事情后就可以释放了. 例如: public class Student{ private string name; private int age; //getter和setter方法 } public sta

数据库连接池问题 Max Pool Size

摘自: http://blog.csdn.net/chensirbbk/article/details/6225268 Timeout expired 超时时间已到. 达到了最大池大小 错误及Max Pool Size设置 参考数据库链接串: [code=sql]<add key="data" value="server=192.168.1.123; Port=3306; uid=root; pwd=root;database=data;pooling=true;min

主流的数据库连接池

1.数据库连接池概述 数据库连接的建立是一种耗时.性能低.代价高的操作,频繁的数据库连接的建立和关闭极大的影响了系统的性能.数据库连接池是系统初始化过程中创建一定数量的数据库连接放于连接池中,当程序需要访问数据库时,不再建立一个新的连接,而是从连接池中取出一个已建立的空闲连接,使用完毕后,程序将连接归还到连接池中,供其他请求使用,从而实现的资源的共享,连接的建立.断开都由连接池自身来管理. 数据库连接池为系统的运行带来了以下优势:昂贵的数据库连接资源得到重用:减少了数据库连接建立和释放的时间开销

Ado.net中SQLServer数据库连接池

相关资源: https://www.cnblogs.com/7qi7/articles/2342494.html https://www.cnblogs.com/lonelyxmas/p/11229038.html MSDN解释 连接到数据库服务器通常由几个需要很长时间的步骤组成. 必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符串信息,必须由服务器对连接进行身份验证,必须运行检查以便在当前事务中登记,等等. 实际上,大多数应用程序仅使用一个或几个不同的连接配

java zip压缩优化版 解决压缩后文件一直被占用无法删除

最近进行zip操作,从网上找到一个处理方法,但是经过试验存在一些bug,主要是文件流的申明存在问题,导致jvm一直占用文件而不释放,特意把自己修改的发出来,已备记录 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; imp