在项目的新版本中,重构了许多代码,因为演示版本没有涉及到update和save等操作,因此我索性把所有service层的事务控制取消了,不就是简单查询逻辑么。
后果就是,在做并发测试的时候,实际最大并发300的时候,最大连接池数配上300居然还老报连接池不够的异常,多亏proxool有个实时监控连接池使用情况的servlet,我发现每次查询后,连接还是active状态,不是马上释放。所有使用后的连接都会等到5分钟后才会自动释放,奇怪,我的autoCommit参数都加了,咋就不释放?
百无聊赖下,补上原有的事务配置:
Java代码
1. <aop:config proxy-target-class="true">
2. <aop:advisor pointcut="execution(* com.captain.sample.service..*Service.*(..))"
3. advice-ref="txAdvice" />
4. </aop:config>
5.
6. <tx:advice id="txAdvice" transaction-manager="transactionManager">
7. <tx:attributes>
8. <tx:method name="*" />
9. </tx:attributes>
10. </tx:advice>
<aop:config proxy-target-class="true">
<aop:advisor pointcut="execution(* com.captain.sample.service..*Service.*(..))"
advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" />
</tx:attributes>
</tx:advice>
问题解决,所有查询提交完后立马释放连接,原有配置跑500并发没有出现任何异常。
结论:
查询式操作同样附上spring事务控制,别图省事;
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。
web.xml:
<!-- session超时定义,单位为分钟 -->
<session-config>
<session-timeout>20</session-timeout>
</session-config>
http://www.blogjava.net/youxia/archive/2009/07/15/286916.html
分享到:
相关推荐
6. **掌握Spring中事务的使用**:Spring的事务管理机制确保数据操作的原子性、一致性、隔离性和持久性,可以通过编程式或声明式方式进行管理。 实验要求主要包括记录实验过程、编写规范的程序以及提交实验报告。...
- 配置Spring的事务管理器,确保数据库操作在正确范围内执行。 - 将Struts的配置与Spring的bean配置合并,实现依赖注入。 这种整合方式的优势在于,它将各个框架的优点集于一体,提供了从用户界面到数据持久化的...
ibatis+spring事务控制 压缩文件中有很多例子,如果控制事务,事务不回滚的解决方法等等。另外附上python学习文档。
最近在整spring mvc 返回json的配置,网上搜集整理了一下,觉得蛮有用的就共享出来,三个必备json包并附spring mvc 返回json的配置,此包有两个版本json包,一个2.6一个2.2
【狂神Spring配套课程代码】一共13个模块,大概可以看我的博客,都是自己学配套整理的 欢迎大家作为学习Spring的参考!! 下面附上狂神B站课程网址,和我的博客笔记(共13章) 狂神老师B站课程:...
SpringCloud是一个微服务框架 , 相比于Dubbo等RPC框架 , SpringCloud提供的全套的分布式系统解决方案 . SpringCloud对微服务基础框架Netflix的多个开源组件进行了封装 , 同时又实现了和云端平台以及和SpringBoot...
这是一个Dynamic Web Project,主要使用hibernate和spring框架,其中事务管理使用的是注解。 hibernate的版本:hibernate-distribution-3.6.6.Final;...注意:此项目没有附上spring、hibernate、JDBC库。
通原实验操作附上matlab源码
S7-1200PLC使用SCL语言编程实现数控G代码指令编程控制(附上源程序)
SSM(Spring + Spring MVC + MyBatis)框架作为Java开发中的黄金组合,为开发者提供了强大的技术支持和丰富的功能。本系列资料将带您从零基础开始,逐步掌握SSM的核心技术和最佳实践,助您在Java Web开发领域更上一...
总之,这个实例结合了Struts2、Spring和Mybatis的强大功能,提供了一个完整的邮件发送系统,包括邮件的创建、附件上传和数据库操作。对这个实例的学习和实践,可以帮助开发者深入理解Java企业级应用的开发流程和技巧...
Spring 3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring 3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
SpringSecurity,这是一种基于Spring AOP和Servlet过滤器的安全框架。它提供全面的安全性解决方案,同时在Web请求级和方法调用级处理身份确认和授权。在Spring Framework基础上,Spring Security充分利用了依赖注入...
标题中的“基于16F877A的路灯控制系统的设计”是一个典型的嵌入式系统项目,涉及到了微控制器(MCU)的应用。16F877A是Microchip Technology公司生产的一款8位的PIC单片机,常用于低功耗、高性能的嵌入式系统设计。...
在实际操作中,律师事务所介绍信可能用于多种场合,如法院立案、企业尽职调查、财产查询、调解协商等。通过这样的正式文件,律师可以顺利地进行工作,同时保障了法律程序的正常进行。 总结,律师事务所介绍信是法律...
远程控制技术是IT领域中一个重要的分支,它允许用户通过网络对远程计算机进行操作和管理。在本项目中,我们关注的是使用Visual Basic 6(VB6)开发的一个远程控制软件。VB6是一款经典的编程环境,它提供了丰富的控件...
用Spring maven做的restful api小Demo 仅供参考 看见有其他大神做的,积分太高了,我来个免积分下载的吧 ,不敢忘挖井人http://blog.csdn.net/u010857795/article/details/54377196 附上...
附上GOT画面.zip三菱PLC编程案例源码资料编程控制器应用通讯通信例子程序实例一台湿纸巾机Q程序.附上GOT画面.zip三菱PLC编程案例源码资料编程控制器应用通讯通信例子程序实例一台湿纸巾机Q程序.附上GOT画面.zip三菱...
mybatis3.0+spring3.0+struts2整合开发的一个小权限管理系统,里面有搜索提示功能,导入导出excel文件,ajax异步刷新,拦截器控制,freemarker等,表关系很复杂,特附上表关系图