wiki接続プール
の説明を参照してください
Hibernateには内部接続プールが付属していますが、実稼働環境には適していません。このチュートリアルでは、サードパーティの接続プール(C3P0)をHibernateと統合する方法を説明します。
1. hibernate-c3p0.jarを入手する
c3p0をHibernateに統合するには、
hibernate-c3p0.jar
が必要です。JBossリポジトリから取得してください。
File:pom.xml
<project ...> <repositories> <repository> <id>JBoss repository</id> <url>http://repository.jboss.org/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.6.3.Final</version> </dependency> <!-- Hibernate c3p0 connection pool --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-c3p0</artifactId> <version>3.6.3.Final</version> </dependency> </dependencies> </project>
2. c3p0のプロパティを設定する
c3p0を設定するには、c3p0の設定の詳細を ”
hibernate.cfg.xml
“に入れます。
File:hibernate.cfg.xml
<?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:MKYONG</property> <property name="hibernate.connection.username">mkyong</property> <property name="hibernate.connection.password">password</property> <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property> <property name="hibernate.default__schema">MKYONG</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.mkyong.user.DBUser"></mapping> </session-factory> </hibernate-configuration>
-
hibernate.c3p0.min__size – 中のJDBC接続の最小数
プール。休止状態のデフォルト値:1
。 hibernate.c3p0.max__size – その中のJDBC接続の最大数
プール。休止状態のデフォルト:100
。 hibernate.c3p0.timeout – アイドル状態の接続が
プール(秒)。休止状態のデフォルト:0、期限切れではありません。
-
hibernate.c3p0.max__statements – プリペアドステートメントの数は
キャッシュされます。パフォーマンスを向上させます。 Hibernateのデフォルト値は0です。キャッシングは無効です。
-
hibernate.c3p0.idle
test
period – 1秒前のアイドル時間
接続は自動的に検証されます。休止状態のデフォルト値:0
-
注
+ hibernate-c3p0
設定の詳細については、http://community.jboss.org/wiki/HowToConfigureTheC3P0ConnectionPoolこの記事を読んでください。
それを実行し、出力する
完了して、次の出力を参照してください。
接続の初期化プロセス中に、5つのデータベース接続が接続プールに作成され、Webアプリケーションの再利用が可能になります。
それをダウンロードしてください://wp-content/uploads/2009/12/Hibernate-C3P0-Connection-Pool-Example.zip[Hibernate-C3P0-Connection-Pool-Example.zip](8KB)