- PR -

Hibernate3でc3p0使用時に「java.lang.OutOfMemoryError: PermGen space」が発生する

1
投稿者投稿内容
わか
常連さん
会議室デビュー日: 2003/12/14
投稿数: 47
お住まい・勤務地: 広島市
投稿日時: 2006-01-28 18:23
お世話になります、ワカです。

要件:
Hibernate(ver 3.1.1)でコネクションプーリングにc3p0(ver 0.9.0)を使用しています。
開発したwarファイルをtomcatにデプロイし、しばらく運用を続けると
「java.lang.OutOfMemoryError: PermGen space」が発生し、デプロイしたアプリが停止します。
同様の事象に遭遇し、これを回避された方からのアドバイスをいただけないでしょうか。

環境:
RHEL3
Hibernate 3.1.1
c3p0 0.9.0 (Hibernateのパッケージのlibディレクトリに付属していたもの)
JDK 1.5.0_05-b05
Tomcat 5.5.12
PostgreSQL 8.1.2

hibernate.cfg.xmlの設定(抜粋)
コード:
<property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
<property name="hibernate.connection.url">jdbc:postgresql://xxx.xxx.xxx.xxx/dbname</property>
<property name="hibernate.connection.username">dbusername</property>
<property name="hibernate.connection.password">dbuserpwd</property>

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

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



この事象について:
hibernate.cfg.xmlを上記の通り設定し、c3p0によるコネクションプーリングを有効とした場合のみ
「java.lang.OutOfMemoryError: PermGen space」が発生します。

上記xmlファイルでhibernate.c3p0.*部分を削除し、c3p0を利用しない設定とした場合は
「java.lang.OutOfMemoryError: PermGen space」は発生しません。

検索した結果、Hibernateのフォーラムに同様の事象が報告されていますが、
解決には至っていないようです。

http://forum.hibernate.org/viewtopic.php?t=935948&postdays=0&postorder=asc&start=0
1

スキルアップ/キャリアアップ(JOB@IT)