连接沲配置如下: 放在: src/config/database下
jdbc.DriverClassName=com.ibm.db2.jcc.DB2Driver
jdbc.URL=jdbc\:db2\://192.168.1.2\:50000/HUIDE
jdbc.UserName=db2
jdbc.UserPWD=dd2003
jdbc.MaxActive=2
jdbc.InitialSize=1
Spring 配置文件如下:
<!-- 读取数据库配置文件 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:config/database/database.properties</value>
</list>
</property>
</bean>
<!-- DB数据源配置 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.DriverClassName}">
</property>
<property name="url" value="${jdbc.URL}"></property>
<property name="username" value="${jdbc.UserName}"></property>
<property name="password" value="${jdbc.UserPWD}"></property>
<property name="initialSize" value="${jdbc.InitialSize}"></property>
<property name="maxActive" value="${jdbc.MaxActive}"></property>
</bean>
我发布出来的项目,执行与DB操作时第一次与第二次都没有问题,很正常,操作第三次时就无数据返回。直接是在等待处理的过程。这个操作次数与我上面的连接沲配置jdbc.MaxActive=2 有关。我改大一点,操作的次数可以多一点.
我用的环境是Spring2.5 + Hibernate3.2 + Struts1.0 + IBM DB2 + tomcat6.026
请问有没有那位知道解决释放连接沲活动数的?
jdbc.DriverClassName=com.ibm.db2.jcc.DB2Driver
jdbc.URL=jdbc\:db2\://192.168.1.2\:50000/HUIDE
jdbc.UserName=db2
jdbc.UserPWD=dd2003
jdbc.MaxActive=2
jdbc.InitialSize=1
Spring 配置文件如下:
<!-- 读取数据库配置文件 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath*:config/database/database.properties</value>
</list>
</property>
</bean>
<!-- DB数据源配置 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.DriverClassName}">
</property>
<property name="url" value="${jdbc.URL}"></property>
<property name="username" value="${jdbc.UserName}"></property>
<property name="password" value="${jdbc.UserPWD}"></property>
<property name="initialSize" value="${jdbc.InitialSize}"></property>
<property name="maxActive" value="${jdbc.MaxActive}"></property>
</bean>
我发布出来的项目,执行与DB操作时第一次与第二次都没有问题,很正常,操作第三次时就无数据返回。直接是在等待处理的过程。这个操作次数与我上面的连接沲配置jdbc.MaxActive=2 有关。我改大一点,操作的次数可以多一点.
我用的环境是Spring2.5 + Hibernate3.2 + Struts1.0 + IBM DB2 + tomcat6.026
请问有没有那位知道解决释放连接沲活动数的?
还有 就是 你要是 在你的dal层用jdbc了 你确定你的 连接自己 手动关闭了吗?根据你说的
就是你的连接用完 没有自动关闭!
请检查你的 spring 配置文件
还有 你用的jdbc的地方 看看是否关闭连接
begin transation
commit/roll back;
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!--定义事务的传播特性-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" /><!--表示方法名是add开头的使用事务--> <!-- rollback-for="exception" -->
<tx:method name="delete*" propagation="REQUIRED" /><!--表示方法名是delete开头的使用事务-->
<tx:method name="modify*" propagation="REQUIRED" /><!--表示方法名是modify开头的使用事务-->
<tx:method name="save*" propagation="REQUIRED" /><!--表示方法名是modify开头的使用事务-->
<tx:method name="*" read-only="true" propagation="SUPPORTS"/><!--表示除了上面的那些开头的都是只读的-->
</tx:attributes>
</tx:advice>
<!--AOP的配置-->
<aop:config>
<aop:pointcut id="managersMethod" expression="execution(* com.huide.serviceimpl.*.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="managersMethod"/>
</aop:config>
对了事务我做了声明
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!--定义事务的传播特性-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" /><!--表示方法名是add开头的使用事务--> <!-- rollback-for="exception" -->
<tx:method name="delete*" propagation="REQUIRED" /><!--表示方法名是delete开头的使用事务-->
<tx:method name="modify*" propagation="REQUIRED" /><!--表示方法名是modify开头的使用事务-->
<tx:method name="save*" propagation="REQUIRED" /><!--表示方法名是modify开头的使用事务-->
<tx:method name="*" read-only="true" propagation="SUPPORTS"/><!--表示除了上面的那些开头的都是只读的-->
</tx:attributes>
</tx:advice>
<!--AOP的配置-->
<aop:config>
<aop:pointcut id="managersMethod" expression="execution(* com.huide.serviceimpl.*.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="managersMethod"/>
</aop:config>
对了事务我做了声明
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!--定义事务的传播特性-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" /><!--表示方法名是add开头的使用事务--> <!-- rollback-for="exception" -->
<tx:method name="delete*" propagation="REQUIRED" /><!--表示方法名是delete开头的使用事务-->
<tx:method name="modify*" propagation="REQUIRED" /><!--表示方法名是modify开头的使用事务-->
<tx:method name="save*" propagation="REQUIRED" /><!--表示方法名是modify开头的使用事务-->
<tx:method name="*" read-only="true" propagation="SUPPORTS"/><!--表示除了上面的那些开头的都是只读的-->
</tx:attributes>
</tx:advice>
<!--AOP的配置-->
<aop:config>
<aop:pointcut id="managersMethod" expression="execution(* com.huide.serviceimpl.*.*.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="managersMethod"/>
</aop:config>
对了事务我做了声明