JBoss DataSource配置问题

时间:2014-08-18 08:31:33

标签: java servlets jboss oracle10g jndi

我无法在jBoss中配置数据源。以下是 jboss web.xml

中的配置
<jboss-web>  
<resource-ref>  
    <res-ref-name>jdbc/testDataSource</res-ref-name> <!-- matches web.xml -->  
    <jndi-name>java:jdbc/testDataSource</jndi-name> <!-- matches oracle-ds.xml -->  
    <res-type>javax.sql.DataSource</res-type>  
</resource-ref>  
</jboss-web>

我们创建了 oracle-ds.xml ,其中包含:

<?xml version="1.0" encoding="UTF-8"?>
<datasources>  
  <local-tx-datasource>  
    <jndi-name>jdbc/testDataSource</jndi-name>  
    <connection-url>jdbc:oracle:thin:@11.120.184.77:1521:starsdev</connection-url>  
    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>  
    <user-name>cmsusr</user-name>  
    <password>cmsusr</password>  
    <min-pool-size>2</min-pool-size>  
    <max-pool-size>20</max-pool-size>  
    <idle-timeout-minutes>5</idle-timeout-minutes>  
    <track-statements/>  
    <metadata>  
      <type-mapping>Oracle10g</type-mapping>  
    </metadata>  
  </local-tx-datasource>  
</datasources>

我创建了一个servlet,其中包含以下服务方法代码:

Context initialContext = new InitialContext();  
Context envContext = (Context) initialContext.lookup( "java:comp/env" );  
DataSource ds = (DataSource) envContext.lookup( "jdbc/testDataSource" );
PrintWriter pw = response.getWriter();
pw.print(ds);

当我运行我的servlet时,它显示以下错误:

[STDOUT] javax.naming.NameNotFoundException:jdbc未绑定

1 个答案:

答案 0 :(得分:0)

在单个查找中执行此操作。这里没有必要使用两个上下文。

 Context initialContext = new InitialContext(); 
 DataSource ds = (DataSource) initialContext.lookup("java:comp/env/jdbc/testDataSource");