- sleepTime:PoolKeeper检测时间间隔
- lifeTime:连接生命周期(上次访问时间-当前时间)
- deadLockMaxWait(:超过最大连接之后的调用getConnection的等待时间
- deadLockRetryWait:超过最大连接之后的调用getConnection等待,在等待中重试的时间间隔
- maxSize:连接池的容量
deald-lock-max-wait和dead-lock-retry-wait的设置要小心,这两个参数的意义见我的另一个日志:XAPool原理简要分析。dead-lock-retry-wait最好设置得比较短,这样不至于线程等待很长时间,dead-lock-max-wait的设置不要太长,一般是设置成比最高并发数下应用处理时间稍长一点,设置过短在大并发下会造成提交实效导致应用数据的丢失,因为超过xapool在超过等待dead-lock-max-wait之后会异常:没有可用连接分配。
sleepTime是对Connection idle检测线程PoolKeeper的检测时间间隔设置。PoolKeeper会定时监测是否存在超过lifeTime的connection然后释放掉这些connection。
连接池的容量设置是有讲究的,一般至少等于AppServer(或者叫WEB 容器)的最大并发数。因为xapool在达到maxSize的时候,如果还有线程需要连接,会进入等待状态(通过deadLockMaxWait设置最大等待时间,deadLockRetryWait设置等待间隔),在大并发下会造成App Server容器线程池满,Server在一段时间内(deadLockMaxWait)停止响应的现象。将连接池的容量设置成大于App Server的最大并发数,可以尽可能的避免这种情况。App Server的最大并发数=App Server的线程池线程数,Tomcat默认是75,Websphere默认是50。集群环境下,集群的最大并发数=每台集群服务器的最大并发数之和
分享到:
相关推荐
- 在使用`StandardXAPoolDataSource`前,开发者需要设置一系列参数,如最大连接数、最小连接数、超时时间等,这些配置直接影响连接池的性能和资源利用。 - 源码中,这些配置参数通过构造函数或setter方法传递,...
在实际应用中,集成XAPool通常需要配置数据库连接参数、设置最大和最小连接数、超时时间等。同时,还需要考虑与JTA事务管理器(如Atomikos、Bitronix等)的集成,以实现完整的分布式事务处理。 总结来说,XAPool是...
在配置中,你需要定义连接池大小、超时时间、验证查询等参数,以优化数据库连接的管理。 在"studentManager"这个项目中,这些组件可能协同工作,实现学生管理系统的数据操作、业务逻辑和用户交互。例如,Struts 2...
4. **配置Hibernate**:在Hibernate的配置文件(hibernate.cfg.xml)中设置数据库连接参数,映射实体类到数据库表,编写实体类和对应的映射文件(.hbm.xml)。 5. **整合SSH**:将Spring、Struts和Hibernate集成在...
上述配置中,我们定义了两个名为`jdbc/test1`和`jdbc/test2`的数据源,并设置了它们的连接参数。此外,还配置了一个`Transaction`元素,用于指定JOTM事务工厂,并设置事务超时时间为60秒。 #### 三、Spring配置文件...