Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应在何处指定c3p0属性?_Java_Spring_Hibernate_C3p0 - Fatal编程技术网

Java 应在何处指定c3p0属性?

Java 应在何处指定c3p0属性?,java,spring,hibernate,c3p0,Java,Spring,Hibernate,C3p0,我正在使用spring/hibernate集成应用程序。我已配置c3p0连接池。我正在使用c3p0组合池数据源。我应该在哪里指定组合池数据源属性 在这一部分 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="mappingLocations" value="classpath:hibernate

我正在使用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>

**//我需要在这里指定组合池数据源属性吗?
//相似增量
收购者的诱惑
收单机构播放
preferredTestQuery
maxPoolSize…等**
还是在这里

<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>

**//我需要在这里指定组合池数据源属性吗?
//相似增量
收购者的诱惑
收单机构播放
preferredTestQuery**
maxPoolSize…等
请推荐我


谢谢

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

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

或者,如果您想在SpringXML 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>

${jdbc.drivers}
${jdbc.url}
${jdbc.username}
${jdbc.password}
5.
100
1800
50
org.hibernate.dialogue.mysqlinnodbdialogue
真的
真的
真的

我相信Hibernate设置会覆盖c3po.properties文件(如果两者都存在)的使用。然而,这表明c3po文档与数据源bean(rootDataSource)存在一些不一致之处。一旦将数据源传递给LocalSessionFactoryBean,hibernate将不会创建连接池-因此hibernateProperties下指定的属性将被忽略

要设置的所有属性都可以作为上的setter方法使用。向数据源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}" />
        <property name="password" value="${jdbc.password}" />
        <property name="acquireRetryAttempts" value="..." />
        <property name="acquireRetryDelay" value="..." />
        <property name="preferredTestQuery" value="..." />
        <property name="maxPoolSize" value="..." />    
    </bean>

        
        
        
        
        
        
        
        
            
    

谢谢您的回复。同样,我需要在哪个部分访问属性文件中的属性值?谢谢如果你创建了属性文件,c3po类知道在你的类路径根目录中用这个确切的文件名查找它,所以你不必指定它。它应该会起作用。