jetty和Oracle Connection Pooling

时间:2017-06-19 08:02:50

标签: oracle jetty connection-pooling

我目前正在将我的Oracle数据源池创建从我的Spring配置转移到jetty配置,但我收到以下错误

  

[警告]配置错误

Spring中的我的数据源配置看起来像

@Bean
public DataSource dataSource() throws IllegalStateException, SQLException {
    PoolDataSource dataSource = PoolDataSourceFactory.getPoolDataSource();

    dataSource.setConnectionFactoryClassName(env.getRequiredProperty(DB_CONNECTION_FACTORY_CLASS_NAME));
    dataSource.setURL(env.getRequiredProperty(DATABASE_URL));
    dataSource.setUser(env.getRequiredProperty(DATABASE_USERNAME));
    dataSource.setPassword(env.getRequiredProperty(DATABASE_PASSWORD));
    dataSource.setMinPoolSize(Integer.parseInt(env.getRequiredProperty(DATABASE_CONNECTION_MIN_POOL_SIZE)));
    dataSource.setMaxPoolSize(Integer.parseInt(env.getRequiredProperty(DATABASE_CONNECTION_MAX_POOL_SIZE)));
    dataSource.setInitialPoolSize(Integer.parseInt(env.getRequiredProperty(DATABASE_CONNECTION_INITIAL_POOL_SIZE)));

    return dataSource;
} 

在jetty配置中,它看起来像

   <New id="pds_datasource_pool" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="wac"/></Arg>
<Arg>jdbc/pdsds</Arg>
<Arg>
  <New class="oracle.ucp.jdbc.PoolDataSource">
    <Set name="uRL">jdbc:oracle:thin:xxx</Set>
    <Set name="user">user</Set>
    <Set name="password">user_dev_01</Set>
    <Set name="minPoolSize">2</Set>
    <Set name="maxPoolSize">10</Set>
    <Set name="initialPoolSize">2</Set>
    <Set name="connectionFactoryClassName">oracle.jdbc.replay.OracleDataSourceImpl</Set>
  </New>
</Arg>

日志只显示上面提到的错误,我不太清楚问题是什么。我还将2个Oracle jar作为依赖项包含在内,但似乎没有用。

我很感激你的帮助。

干杯

克里斯

1 个答案:

答案 0 :(得分:0)

在这里回答我自己的帖子。以下是在Jetty中配置池的设置

   <New id="pDatasourcePool" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="wac"/></Arg>
<Arg>jdbc/projectds</Arg>
<Arg>
  <Call class="oracle.ucp.jdbc.PoolDataSourceFactory" name="getPoolDataSource" >
    <Set name="URL">jdbc:oracle:thin:xxx</Set>
    <Set name="user">user</Set>
    <Set name="password">ser_dev1</Set>
    <Set name="minPoolSize">2</Set>
    <Set name="maxPoolSize">10</Set>
    <Set name="initialPoolSize">2</Set>
    <Set name="connectionFactoryClassName">oracle.jdbc.replay.OracleDataSourceImpl</Set>
  </Call>
</Arg>