0
私たちのアプリケーションでは、C3P0PooledDataSourceによってデータソースを管理しており、設定はapplicationContext.xmlファイルで行われます。Spring-Hibernate複数のデータソースを1つのプールで管理します
<bean id="parentDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" abstract="true">
<property name="acquireIncrement" value="${jdbc.acquireIncrement}" />
<property name="minPoolSize" value="${jdbc.minPoolSize}" />
<property name="maxPoolSize" value="${jdbc.maxPoolSize}" />
<property name="maxIdleTime" value="${jdbc.maxIdleTime}" />
<property name="maxIdleTimeExcessConnections" value="${jdbc.maxIdleTimeExcessConnections}" />
</bean>
<bean id="ds1" parent="parentDataSource" singleton="true">
<property name="driverClass" value="${ds1.jdbc.driver}" />
<property name="jdbcUrl" value="${ds1.jdbc.url}"/>
<property name="user" value="${ds1.jdbc.user}" />
<property name="password" value="${ds1.jdbc.password}" />
</bean>
<bean id="ds2" parent="parentDataSource" singleton="true">
<property name="driverClass" value="${ds2.jdbc.driver}" />
<property name="jdbcUrl" value="${ds2.jdbc.url}"/>
<property name="user" value="${ds2.jdbc.user}" />
<property name="password" value="${ds2.jdbc.password}" />
</bean>
は今、展開時に作成された2つのプールがあり、それらのそれぞれが独自のminPoolSizeを有し、従って、それらの多くの接続が作成されています。 minPoolSize、maxPoolSizeなどの設定を1つのレベルで定義でき、すべてのデータソースがそれによって管理される方法はありますか。
これは正しいです!しかし、私が望むのは、1つのプール構成によって管理される異なるデータソースです。プールラッパーを作成して2つの子プールを管理するのはどうでしょうか?同じBeanオブジェクトをxmlの別のBean宣言から参照することができれば、これを実現できますが、どうすればよいのか分かりません。 –
@kapilgupta「xmlの別のBean宣言から同じBeanオブジェクトを参照できるかどうか」というステートメントを完全に取得するかどうかわかりません。 Beandef1.xmlという別のXMLファイルで宣言されているBean(beandef2.xmlから)を参照したいと考えているので、私はそれを解釈しています。もしそうなら、 ' 'を使って 'beandef2.xml'ファイルに' beandef1.xml'をインポートすることはできません。これに関する詳細は、[http://stackoverflow.com/questions/7711750/how-to-reference-a-bean-of-another-xml-file-in-spring](http://stackoverflow.com/questions/) 7711750/how-to-reference-a-bean-of-another-xml-file-in-spring) –
いいえ、これは、単なる考えであった、同じ参照を共有することによって達成できるかどうかです。私はとにかく、1つの中央プールまたは親プールによって管理される子プールを取得する必要があります –