【问题标题】:trying to Configur c3p0 pooling in Hibernate using Spring WebFlow尝试使用 Spring WebFlow 在 Hibernate 中配置 c3p0 池
【发布时间】:2012-08-31 14:57:08
【问题描述】:

我正在使用 Spring 在 Hibernate 中配置内置的 c3p0 池,但它给了我错误它不喜欢任何 C3P0 的东西,例如:

<prop name="hibernate.c3p0.min_size" value="2" />
<prop name="hibernate.c3p0.max_size" value="5" />

谁能告诉我为什么?

<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
    <!--suppress InjectionValueTypeInspection -->
    <property name="mappingResources" ref="hibernateMappingList" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">net.sf.hibernate.dialect.Oracle9Dialect</prop>
            <prop key="transaction.factory_class">
                net.sf.hibernate.transaction.JDBCTransactionFactory
            </prop>
            <prop key="hibernate.transaction.factory_class">
                net.sf.hibernate.transaction.JDBCTransactionFactory
            </prop>
            <prop key="hibernate.show_sql">false</prop>
            <prop key="hibernate.cglib.use_reflection_optimizer">false</prop>
            <prop key="hibernate.jdbc.batch_size">0</prop>

            <prop name="hibernate.c3p0.min_size" value="2" />
            <prop name="hibernate.c3p0.max_size" value="5" />
            <prop name="hibernate.c3p0.timeout" value="600" />
            <prop name="hibernate.c3p0.max_statements" value="0" />
            <prop name="hibernate.c3p0.idle_test_period" value="300"/>
            <prop name="hibernate.c3p0.acquire_increment" value="1" />
      </props>
    </property>
</bean>

这是我的数据库源信息:

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">

        <!-- these are C3P0 properties -->
        <property name="acquireIncrement" value="${database.acquireIncrement}" />
        <property name="minPoolSize" value="${database.minPoolSize}" />
        <property name="maxPoolSize" value="${database.maxPoolSize}" /> 
        <property name="maxIdleTime" value="${database.maxIdleTime}" />

        <property name="driverClass" value="${database.driver}" />
        <property name="jdbcUrl" value="${database.url}" />
        <property name="user" value="${database.user}" />
        <property name="password" value="${database.password}" />
    </bean>

【问题讨论】:

  • 什么错误?您可以发布有关错误的详细信息吗?
  • Spring 不喜欢“prop name="
  • 你能粘贴你的数据源配置吗?我还看到您对所有 cpo 配置使用 。您是否尝试过类似 2
  • 我添加了数据源信息,如果我添加 2 我没有收到 xml 错误,但 C3P0 没有使用这些值

标签: java spring hibernate spring-webflow c3p0


【解决方案1】:

XML 错误。在下一节中

       <prop name="hibernate.c3p0.min_size" value="2" />
       <prop name="hibernate.c3p0.max_size" value="5" />
       <prop name="hibernate.c3p0.timeout" value="600" />
       <prop name="hibernate.c3p0.max_statements" value="0" />
       <prop name="hibernate.c3p0.idle_test_period" value="300"/>
       <prop name="hibernate.c3p0.acquire_increment" value="1" />

使用与其他属性相同的格式替换它

       <prop key="key">value</prop>

prop 元素使用与property 元素不同的属性。

【讨论】:

  • 我确实尝试过,我更改了要测试的尺寸,但它不起作用...我将 min_size 设置为 10,但仍然从数据源中获得了最小值
  • 每个问题一个答案:)。如果您已经解决了最初的问题,请将此答案标记为正确答案并提出另一个问题。
猜你喜欢
  • 2012-08-31
  • 2011-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-01
  • 1970-01-01
  • 2013-12-25
相关资源
最近更新 更多