我在做一个模拟手机端访问struts+spring框架的压力登录测试,当并发的登录用户数量达到五百以上程序就开始报错,手机访问的方式为url+xml,我用过滤器拦截到用户的请求url,然后解析xml包,判断用户是干什么的,然后调用相应的bean,再调用相应的action,程序总体是这样设计的,但是程序在并发登录用户为500或者1000或者更多的时候,登录成功的次数总是470多次,而且程序在470多次以后开始报错,先是报:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in file [D:\Program Files\apache-tomcat-6.0.26\bin\..\webapps\UserManage\WEB-INF\classes\applicationContext-dataSource.xml]: Initialization of bean failed; nested exception is java.lang.OutOfMemoryError: Java heap space,后来一直报:java.lang.IllegalStateException: Timer already cancelled.程序崩溃!!!只有重启tomcat!我没有用java的定时器!我的jdbc配置如下:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://192.168.25.42:8066/coolwin?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
jdbc.username=mysql
jdbc.password=mysql
jdbc.maxPoolSize=0
jdbc.minPoolSize=0
jdbc.initialPoolSize=1
jdbc.maxIdleTime=10000
jdbc.timeBetweenEvictionRunsMillis=300000
这个问题困扰了我很久很久,望高手指点迷津!我看到网上说的一些解决的方法,如tomcat下的catalina.cat设置内存大小方法都不行啊!