有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java应该在哪里指定c3p0属性?

我正在使用spring/hibernate集成应用程序。我已经配置了c3p0连接池。我正在使用c3p0组合数据源。我应该在哪里指定组合池数据源属性

在这一部分

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="mappingLocations" value="classpath:hibernate-mapping.xml" />
        <property name="hibernateProperties">
            <props>
                **//Here do I need to specify combopooled datasource properties?
        //like acquireIncrement
            acquireRetryAttempts
            acquireRetryDelay
            preferredTestQuery
            maxPoolSize...etc**
            </props>
        </property>
        <property name="dataSource" ref="dataSource" />
    </bean>

还是在这里

<bean id="rootDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="user" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
**//Here do i need to specify combopooled datasource properties?
            //like acquireIncrement
            acquireRetryAttempts
            acquireRetryDelay
            preferredTestQuery**
            maxPoolSize...etc

</bean>

请推荐我

谢谢


共 (1) 个答案

  1. # 1 楼答案

    可以在c3p0.properties文件中指定它们。只需将其放在类路径的根目录中

    或者,在名为c3p0-config.xml的xml文件中,也在类路径的根目录中

    或者,如果希望在spring xml for Hibernate中使用它,可以使用

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
          <! <property name="lobHandler">
             <ref local="lobHandler" />
          </property> >
          <property name="hibernateProperties">
             <props>
                <prop key="hibernate.connection.driver_class">${jdbc.drivers}</prop>
                <prop key="hibernate.connection.url">${jdbc.url}</prop>
                <prop key="hibernate.connection.username">${jdbc.username}</prop>
                <prop key="hibernate.connection.password">${jdbc.password}</prop>
                <prop key="hibernate.c3p0.min_size">5</prop>
                <prop key="hibernate.c3p0.max_size">100</prop>
                <prop key="hibernate.c3p0.timeout">1800</prop>
                <prop key="hibernate.c3p0.max_statements">50</prop>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
                <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
             </props>
          </property>
    

    我相信Hibernate设置会覆盖c3po的使用。属性文件(如果两者都存在)。然而this post表明与c3po文件存在一些不一致之处