标签: c3p0

如何选择最大连接池大小?

<property name="hibernateProperties">
  <props>           
    <prop key="hibernate.c3p0.max_size">?</prop>
  </props>
</property>
Run Code Online (Sandbox Code Playgroud)

这只是随机数猜测吗?或者是否有任何研究建议针对特定用例使用特定范围?

java hibernate connection-pooling c3p0

4
推荐指数
1
解决办法
5500
查看次数

C3P0 连接池使用此配置给出连接超时错误

我正在使用树脂服务器 + spring 框架和 c3p0 连接池。我已经使用以下属性文件配置了连接池。但不知何故,每 24 小时左右,我的网站就会面临连接超时错误,然后我必须重新启动我的树脂服务器才能使网站重新上线。请告诉我以下配置文件有什么问题以及我在这里遗漏了什么。

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.databaseURL=jdbc:mysql://localhost/my_database1_url
jdbc.StockDatabaseURL=jdbc:mysql://localhost/my_database2_url
jdbc.username=my_username
jdbc.password=my_password
jdbc.acquireIncrement=10
jdbc.minPoolSize=20
jdbc.maxPoolSize=30
jdbc.maxStockPoolSize=30
jdbc.maxStatements=100
jdbc.numOfHelperThreads=6
jdbc.testConnectionOnCheckout=true
jdbc.testConnectionOnCheckin=true
jdbc.idleConnectionTestPeriod=30
jdbc.prefferedTestQuery=select curdate();
jdbc.maxIdleTime=7200
jdbc.maxIdleTimeExcessConnections=5
Run Code Online (Sandbox Code Playgroud)

spring-mvc c3p0 connection-timeout

4
推荐指数
1
解决办法
5728
查看次数

将 c3p0 与 Tomcat 8 数据源一起使用

我有一个加载了数据源的 tomcat 8 服务器。我想知道是否可以将此 DataSource 与 c3p0 连接池管理结合使用。到目前为止,这是我尝试过的。

上下文.xml

 <Context>
 ...
 <Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" 
  maxIdle="30" maxTotal="100" maxWaitMillis="10000"
name="jdbc/store" password="text" type="javax.sql.DataSource" 
url="jdbc:mysql://localhost:3306/db" username="user"/>
 </Context>
Run Code Online (Sandbox Code Playgroud)

休眠文件.cfg.xml

<hibernate-configuration>
<session-factory>
    <property name="hibernate.connection.driver_class">
        com.mysql.jdbc.Driver
    </property>
    <property name="hibernate.connection.datasource">
        java:comp/env/jdbc/store
    </property>

    <property name="hibernate.c3p0.min_size">5</property>
    <property name="hibernate.c3p0.max_size">20</property>
    <property name="hibernate.c3p0.timeout">300</property>
    <property name="hibernate.c3p0.max_statements">50</property>
    <property name="hibernate.c3p0.idle_test_period">3000</property>


    <property name="hibernate.dialect">
        org.hibernate.dialect.MySQLDialect
    </property>

...more stuff
Run Code Online (Sandbox Code Playgroud)

问题是服务器启动后mysql只显示一个进程

hibernate c3p0

4
推荐指数
1
解决办法
3613
查看次数

Maven无法解析hibernate-c3p0对slf4j的依赖

当我包含hibernate-c3p0在我的Maven pom.xml文件中时,我得到了一个NoClassDefFoundError无法找到的运行时org.slf4j.impl.StaticLoggerBinder.我的印象是Maven会解决这种依赖 - 所以如果c3p0需要slf4j,那么slf4j将被下载并包含在内.

我的pom.xml档案有:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-c3p0</artifactId>
  <version>3.3.1.GA</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

java hibernate c3p0 slf4j

3
推荐指数
1
解决办法
2513
查看次数

无法让c3p0与Spring/Hibernate/JPA一起使用

我已经将我的Spring应用程序配置为使用Hibernate作为JPA提供程序.应用程序上下文如下所示:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

    <context:component-scan base-package="com.med.persistence.magic.*"/>
    <aop:aspectj-autoproxy />

    <!-- Load DB config file -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="ignoreResourceNotFound" value="true" />
        <property name="ignoreUnresolvablePlaceholders" value="true" />
        <property name="searchSystemEnvironment" value="true" />
        <property name="systemPropertiesMode">
            <util:constant
                static-field="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.SYSTEM_PROPERTIES_MODE_OVERRIDE" />
        </property>
        <property name="locations">
            <list>
                <value>classpath:dev.db.properties</value>
<!--                <value>file:///usr/share/tomcat6/conf/hx_db.conf</value>-->
            </list>
        </property>
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager"/>

    <bean id="transactionManager" class = "org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>

     <bean id="jpaAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
        <property name="showSql" value="true" />
    </bean>

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> …
Run Code Online (Sandbox Code Playgroud)

spring hibernate jpa c3p0

3
推荐指数
1
解决办法
6334
查看次数

我可以为数据库实例使用多个C3P0数据源吗?

我想知道我是否可以为一个DB运行多个c3p0数据源,例如:

<bean id="dataSource1" class = "com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="${db.driverClassName}"/>
    <property name="jdbcUrl" value="${db.url}/schema1"/>
    <property name="user" value="${db.username}"/>
    <property name="password" value="${db.password}"/>

    <property name="acquireIncrement" value="1" />
    <property name="idleConnectionTestPeriod" value="100"/>
    <property name="minPoolSize" value="5" />
    <property name="maxPoolSize" value="50" />
    <property name="maxIdleTime" value="1800" />
</bean>

<bean id="dataSource2" class = "com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="${db.driverClassName}"/>
    <property name="jdbcUrl" value="${db.url}/schema2"/>
    <property name="user" value="${db.username}"/>
    <property name="password" value="${db.password}"/>

    <property name="acquireIncrement" value="1" />
    <property name="idleConnectionTestPeriod" value="100"/>
    <property name="minPoolSize" value="5" />
    <property name="maxPoolSize" value="50" />
    <property name="maxIdleTime" value="1800" />
</bean>
Run Code Online (Sandbox Code Playgroud)

它们将由差异持久性服务使用.

谢谢.

spring datasource connection-pooling jdbc c3p0

3
推荐指数
1
解决办法
2113
查看次数

c3p0似乎关闭了活动连接

我设置unreturnedConnectionTimeout发布陈旧的连接.我假设这只是在没有任何活动的情况下关闭连接,但看起来这只是在指定时间后关闭每个连接.

这是一个错误还是这个'设计'?

手册说明:

unreturnedConnectionTimeout定义连接可以保持签出的时间限制(以秒为单位).如果设置为nozero值,则超出此限制的未退回,签出的Connections将被立即销毁,然后在池中替换.显然,您必须注意将此参数设置为足够大的值,以使已检出的连接上的所有预期操作都有时间完成.您可以使用此参数仅解决无法关闭()Connections的不可靠客户端应用程序

由此我得出结论,活动并没有影响丢掉连接.对我来说这听起来很奇怪.为什么扔掉活动连接?

谢谢,米洛

c3p0

3
推荐指数
1
解决办法
1889
查看次数

使用JPA和Hibernate在Persistence.xml中配置C3P0

好吧,我试图用JPA + Hibernate + Spring第一次配置C3P0.在persistence.xml中我有:

<properties>
    <property name="hibernate.show_sql" value="false" />
    <property name="hibernate.format_sql" value="false" />
    <property name="hibernate.hbm2ddl.auto" value="update" />
    <property name="hibernate.cache.use_second_level_cache"
        value="false" />
    <property name="hibernate.cache.use_query_cache" value="false" />
    <property name="hibernate.jdbc.batch_size" value="50" />

    <!-- Important -->
    <property name="hibernate.connection.provider_class"
        value="org.hibernate.connection.C3P0ConnectionProvider" />

    <property name="hibernate.c3p0.max_size" value="20" />
    <property name="hibernate.c3p0.min_size" value="5" />
    <property name="hibernate.c3p0.acquire_increment" value="1" />
    <property name="hibernate.c3p0.idle_test_period" value="3000" />
    <property name="hibernate.c3p0.max_statements" value="50" />
    <property name="hibernate.c3p0.timeout" value="300" />
</properties>
Run Code Online (Sandbox Code Playgroud)

但是当我尝试初始化tomcat时,我收到以下错误:

Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
    at …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa c3p0

3
推荐指数
1
解决办法
9948
查看次数

使用HSQLDB和Spring嵌入式数据库启用连接池

最近,我一直在尝试为我们在生产中使用Oracle DB的应用程序之一实现基于HSQLDB的内存数据库.该应用程序使用spring框架.但是,我必须以编程方式实现数据源bean,因为我们使用现有的SQL DDL语句(Oracle查询),因此必须以编程方式删除命名空间之类的构造才能在HSQLDB上运行.

我使用EmbeddedDatabaseBuilder(ResourceLoader)初始化数据库.

现在我的问题是我现在想要使用say c3p0添加连接池.通常我会用

<bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="HSQLDB driver path" /> (this is just for representation)
    <property name="jdbcUrl" value="${xxx.jdbcUrl}" />
    <property name="user" value="${xxx.username}" />
    <property name="password" value="${xxx.password}" />
    <property name="minPoolSize" value="1" />
    <property name="maxPoolSize" value="3" />
    <property name="maxIdleTime" value="20" />
</bean>
Run Code Online (Sandbox Code Playgroud)

但是,我很困惑如何在使用Spring嵌入式数据库时定义它.

免责声明:我真的很喜欢春天.

sql spring connection-pooling hsqldb c3p0

3
推荐指数
1
解决办法
2478
查看次数

C3p0与Hibernate 4.2错误:setCharacterStream(ILjava/io/Reader; J)V是抽象的

我正在使用Hibernate 4.2与c3p0,我收到此错误:Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.setCharacterStream(ILjava/io/Reader;J)V is abstract

有谁知道我应该使用哪个版本?这是我当前的Maven依赖列表:

<dependency>
    <groupId>com.mchange</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.2</version>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>4.2.0.Final</version>
</dependency>        
Run Code Online (Sandbox Code Playgroud)

java configuration hibernate c3p0 maven

3
推荐指数
1
解决办法
4015
查看次数