我无法在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未绑定
答案 0 :(得分:0)
在单个查找中执行此操作。这里没有必要使用两个上下文。
Context initialContext = new InitialContext();
DataSource ds = (DataSource) initialContext.lookup("java:comp/env/jdbc/testDataSource");