2

JPAデータソースにアクセスするためにHibernate4.1.6Finalを使用しています。c3p0を介して接続プールを追加しているときに、次のログメッセージが表示されました。

611  [main] WARN  org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator  - HHH000208: org.hibernate.connection.C3P0ConnectionProvider has been deprecated in favor of org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider; that provider will be used instead.

これが私のPOMからの休止状態のアーティファクトです:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-entitymanager</artifactId>
  <version>4.1.6.Final</version>
</dependency>
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-c3p0</artifactId>
  <version>4.1.6.Final</version>
</dependency>

および関連するプロパティpersistence.xml

<property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" />
<property name="hibernate.c3p0.max_size" value="100" />
<property name="hibernate.c3p0.min_size" value="5" />
<property name="hibernate.c3p0.acquire_increment" value="5" />
<property name="hibernate.c3p0.idle_test_period" value="500" />
<property name="hibernate.c3p0.max_statements" value="50" />
<property name="hibernate.c3p0.timeout" value="10000" />

プロバイダーの名前を優先クラスに変更しても、同じ警告が表示されます。使用する正しいクラス名は何hibernate.connection.provider_classですか?c3p0以外の本番環境での使用に適した接続プロバイダーはありますか?

4

1 に答える 1

2

私はしばらくの間同じ警告を観察していましたが、アプリの機能やパフォーマンスへの影響は見られませんでした。しかし、今日、 persistence.xmlのエントリ(警告メッセージ自体に記載されている)を次のように切り替えることにしました。

<!-- C3p0 connection pooling configuration -->
<property name="hibernate.connection.provider_class" value="org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider"/>

これで問題は解決しました。4.1.6Finalも使用しています。

于 2012-12-23T12:36:05.167 に答える