Hibernate c3p0 - よく利用されているコネクションプーリング
2009/07/15 23:54Update
Hibernateでは、簡単な設定するだけで、JDBCコネクション・プーリングを有効になることができます。
Hibernateデフォルトでのコネクションプーリングでは、最も基本な機能をしか備えていないので、DBサーバの再起動やタイムアウトなどの原因で、接続ができなくなる恐れがあります。それで、Hibernateは、外部コネクションプーリングも利用できるような仕組みを提供しています。
c3p0は最も利用されているオープンソースのコネクションプーリングの一つで、Hibernateと同梱しており、簡単な設定で利用ができます。
hibernate.cfg.xml設定例(c3p0):
※hibernate.cfg.xmlの設定方法については、次の記事をご覧ください:
Hibernate設定ファイルその1 - hibernate.cfg.xml
また、hibernate.propertiesを用いる場合、次の例があります:
hibernate.properties設定例:
また、c3p0の特殊なパラメータの設定はc3p0.propertiesファイルに記述することもできます。
c3p0を利用するには、hibernateのlib\c3p0-x.x.x.jarファイルをclasspath(クラスパス)に通る必要があります。
以上の設定で、Hibernateは自動的にC3P0ConnectionProviderを利用するようになります。
hibernate.org - HowTo configure the C3P0 connection pool
c3p0 - JDBC3 Connection and Statement Pooling - Documentation
HIBERNATE - Relational Persistence for Idiomatic Java
c3p0 接続プール 詳細設定 | プロパティ一覧
c3p0は最も利用されているオープンソースのコネクションプーリングの一つで、Hibernateと同梱しており、簡単な設定で利用ができます。
ステップ1:hibernate.cfg.xmlもしくはhibernate.propertiesに設定
hibernate.cfg.xml設定例(c3p0):
<?xml version="1.0"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <!-- セッション・ファクトリ定義 --> <session-factory> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost/myproj</property> <property name="connection.username">myproj</property> <property name="connection.password">myproj</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="c3p0.acquire_increment">1</property> <property name="c3p0.idle_test_period">100</property> <property name="c3p0.max_size">100</property> <property name="c3p0.max_statements">0</property> <property name="c3p0.min_size">10</property> <property name="c3p0.timeout">100</property> <!-- その他設定 --> </session-factory> </hibernate-configuration>
※hibernate.cfg.xmlの設定方法については、次の記事をご覧ください:
Hibernate設定ファイルその1 - hibernate.cfg.xml
また、hibernate.propertiesを用いる場合、次の例があります:
hibernate.properties設定例:
hibernate.connection.driver_class = com.mysql.jdbc.Driver hibernate.connection.url = jdbc:mysql://localhost/myproj hibernate.connection.username = myproj hibernate.connection.password = myproj hibernate.c3p0.min_size=5 hibernate.c3p0.max_size=20 hibernate.c3p0.timeout=1800 hibernate.c3p0.max_statements=50 hibernate.dialect = org.hibernate.dialect.MySQLDialect
また、c3p0の特殊なパラメータの設定はc3p0.propertiesファイルに記述することもできます。
ステップ2:
c3p0を利用するには、hibernateのlib\c3p0-x.x.x.jarファイルをclasspath(クラスパス)に通る必要があります。
以上の設定で、Hibernateは自動的にC3P0ConnectionProviderを利用するようになります。
その他 参考資料
hibernate.org - HowTo configure the C3P0 connection pool
c3p0 - JDBC3 Connection and Statement Pooling - Documentation
HIBERNATE - Relational Persistence for Idiomatic Java
c3p0 接続プール 詳細設定 | プロパティ一覧
Sponsored Link
- Relative Articles
- Hibernate設定ファイルその1 - hibernate.cfg.xml - (2008/07/09 14:08)
- Hibernate 方言(Dialect)一覧 - (2008/07/09 15:10)
- Hibernate のSessionとSessionFactory - (2008/07/09 15:51)
- ThreadLocal でHibernate Session を効率的に管理する - (2008/07/09 18:43)
- Hibernateで複数のDBに接続するには? - (2008/07/09 18:47)
- Hibernateとは - (2008/07/11 14:23)
- Hibernate のインストール - (2008/07/24 11:01)
- Hibernate の開発手順 - (2008/07/24 12:44)
- Hibernate SQLをログに出力方法 - (2008/07/30 16:06)
- Hibernate究明 - サンプルから学ぶHibernate Proxy - (2008/07/30 19:07)