繁体   English   中英

在Spring MVC中设置连接池

[英]Setup Connection Pooling in Spring MVC

如何在Spring MVC中设置连接池? 我正在使用由Spring MVC 2.5和jQuery驱动的Intranet网站。 这是我第一次尝试开发Web。

我不确定但是,我只在Spring配置文件中使用它,我在Spring MVC一步一步的教程中看到了这一点

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close">
  <property name="driverClassName" value="${jdbc.driverClassName}" />
  <property name="url" value="${jdbc.url}" />
  <property name="username" value="${jdbc.username}" />
  <property name="password" value="${jdbc.password}" />
 </bean>

 <bean id="propertyConfigurer"
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
   <list>
    <value>classpath:jdbc.properties</value>
   </list>
  </property>
 </bean>

这在开发期间看起来很好并且连接速度很快但是我不确定如果许多用户同时连接,这是否仍然适用。

我怎样才能做到这一点? 我已经读过这不是一个最佳的连接数据源。

您可能希望查看c3p0 ,它具有一些强大的配置和优化功能。

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="driverClass" value="..." />
    <property name="jdbcUrl" value="..." />
    <property name="user" value="..." />
    <property name="password" value="..." />
</bean>
For connection Pooling

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  destroy-method="close">
  <property name="driverClassName" value="${jdbc.driverClassName}" />
  <property name="url" value="${jdbc.url}" />
  <property name="username" value="${jdbc.username}" />
  <property name="password" value="${jdbc.password}" />

//Add this two more parameters
   <property name="**initialSize**" value="20" />
   <property name="**maxActive**" value="30" />


 </bean>

connection pool will create 20 database connection as initialSize is 20 and goes up to 30 Database connection if required as maxActive is 30.

您当前的设置是正确的,您需要做的就是使用基本连接池,使用连接池库提供的DataSource实现,在您的情况下是Apache DBCP 有关其他替代方案的一些链接,请参阅此帖子 ,C3P0就是其中之一。

请注意,当您实际使用DataSource bean时,您将注入包装在SimpleJdbcTemplate中或使用DataSourceUtils获取连接 - 请参阅Spring JDBC文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM