2017-03-29 17 views
1

私は接続管理のためにc3p0で休止状態を使用しています。私の休止状態の設定では、connection.pool_sizeとhibernate.c3p0.max_sizeの両方が(異なる番号で)設定されています。c3p0が設定されている場合、connection.pool_sizeは無視されます

私がc3p0を使用しているときの知識として、私のデフォルトの休止状態の接続管理は使用されません。 しかし、hibernate.c3p0.max_sizeが、デフォルトのhibernateプールサイズ設定変数のconnection.pool_sizeのc3p0置き換えであるかどうかはわかりません。

私のクエリは次のとおりです。 - 設定からconnection.pool_sizeを削除できますか? 設定ファイルに両方とも入っていると、connection.pool_sizeは完全に無視されるのでしょうか、それとも他の目的に使用されますか?

答えて

1

セッションファクトリを使用してc3poの設定を定義したら、 休止状態のデフォルト設定は不要です。あなたは混乱を避けるためにそれを削除する必要があります。あなたが理解し、構成設定を明確にすることconnection.pool_sizeを削除

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC 
"-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
<session-factory> 
    <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
    <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:ABCXYZ</property> 
    <property name="hibernate.connection.username">myuser</property> 
    <property name="hibernate.connection.password">password</property> 
    <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property> 
    <property name="hibernate.default_schema">SCHEMA_A</property> 
    <property name="show_sql">true</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> 

    <mapping class="com.ABCXYZ.user.DBUser"></mapping> 
</session-factory> 
</hibernate-configuration> 

ベター:

あなたのセッションファクトリの設定は次のようになります。

関連する問題