2

我定义了以下 oracle 连接池工厂。问题是我是否必须将整个工厂实例注入 bean 或以某种方式注入OracleConnectionPoolDataSourcebean?

    <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>

豆注:??

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

1 回答 1

3

我希望这可行...从您的oraclePooledDataSourceFactory定义中删除 factory-method 属性并引入另一个 bean 定义。

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

在你的课堂上,自动接线保持你提到的方式。我不确定你是否需要@Required属性

于 2012-12-20T19:00:21.823 回答