2

次のOracle接続プールファクトリが定義されています。質問は、ファクトリ インスタンス全体を Bean に注入する必要がありますか、または何らかの方法で Bean に注入する必要がありOracleConnectionPoolDataSourceますか?

    <bean id="oraclePooledDataSourceFactory" class="oracle.ucp.jdbc.PoolDataSourceFactory" factory-method="getPoolDataSource">
    <!-- DataSource Class to be used -->
    <property name="connectionFactoryClassName" value="oracle.jdbc.pool.OracleConnectionPoolDataSource"/>
    <!-- Connection -->
    <property name="URL">
        <value>${jdbc.connection.url}</value>
    </property>
    <property name="user">
        <value>${jdbc.connection.username}</value>
    </property>
    <property name="password">
        <value>${jdbc.connection.password}</value>
    </property>

Bean アノテーション:??

    @Autowired
@Required
@Qualifier("oraclePooledDataSource") <------ ????
public void setDatabaseSource(OracleConnectionPoolDataSource databaseSource) {
    this.databaseSource = databaseSource;
}
4

1 に答える 1

3

これが機能することを願っています... factory-method 属性を定義から削除し、oraclePooledDataSourceFactory別の Bean 定義を導入してください。

<bean id="oraclePooledDataSource" factory-bean="oraclePooledDataSourceFactory"
  factory-method="getPoolDataSource"/>

あなたのクラスでは、あなたが言及したように自動配線してください。@Required属性が必要かどうかわかりません

于 2012-12-20T19:00:21.823 に答える