我的一个项目用的框架是spring1.2+hibernate3.1+struts1.2,应用服务器是webshpere,但是没有用websphere的连接池,用的是apache的dbcp。
在测试机上内部运行测试一段时间后,会报cannot open connection 错误,经分析,应该是并发连接数量不够用的缘故,觉得可能是apache的dbcp有问题,明天准备用websphere的连接池更换再试试。
但疑惑的是,我对数据库操作,都是通过spring 的hibernateTemplate来操作的,hibernateTemplate封装了对链接的关闭操作,事务用的是声明式事务,如果事务配置正确,则会在执行完事务后关闭链接;如果事务配置不正确,则会在执行完数据库操作之后关闭链接,更不存在事务问题,怎么会出现链接不够用的情况呢???如果是dbcp的问题,那使用spring+hibernate是否就不能用tomcat做应用服务器呢,因为tomcat的连接池用的就是dbcp啊??
不知道哪位朋友遇到过这种问题并解决了这种问题,因为我在网上找到的都只是有人提出了这个问题,但是没有人能给出个解决方案,希望不吝赐教。
由于是测试机,所以在项目出现cannot open connection 错误,用户几分钟不做任何操作后,又可以重新操作,说明是连接池在达到了maxWait之后收回了connection,用户再操作时能够重新分配到connection,说明cannot open connection 错误的确是链接数量达到了连接池的maxActive所导致。
不知道有哪位朋友可以赐教这个问题,非常感谢
分享到:
相关推荐
`定义了一个静态变量,用于记录最后一次刷新的时间。 - **BaseClasses\winutil.cpp**中的`UINT Count; for(Count=0; Count; Count++){}`是一个循环结构,用于迭代执行某段代码。 - **BaseClasses\outputq.cpp**中的`...
printf("Cannot open mouse connection\n"); exit(1); } while (1) { FD_ZERO(&readset); FD_SET(gpm_fd, &readset); select(gpm_fd + 1, &readset, 0, 0, 0); if (FD_ISSET(gpm_fd, &readset)) { if ...
Access数据库则需创建相应的表结构来接收Excel数据,表字段应与Excel列对应。 2. **创建Access数据库**: 打开Access,点击“新建”创建一个新的数据库。在空白数据库中,可以通过“表设计”视图手动定义字段,也...
The Web brought some unique challenges to software developers, most notably the stateless connection between the client and the server. This stateless behavior made it difficult for the model to ...
connection.Open(); // Database operations } ``` ##### 7.3 对象使用 - **对象生命周期**:明确对象的生命周期,合理管理对象的创建和销毁。 示例: ```csharp public void UseObject() { using (var obj = ...
CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意...
如果你收到`sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory`,这意味着系统找不到必要的库文件。这通常是权限或路径问题。你可以通过...
#### ORA-00023: Failed to open the shared memory segment - **解释**: 无法打开共享内存段。 - **解决方案**: 检查操作系统级别的问题,例如权限、空间不足等。 #### ORA-00024: Object is in invalid state -...