繁体   English   中英

问题配置JBoss使用JNDI(2)

[英]problem configure JBoss to work with JNDI(2)

继续上周的问题问题配置JBoss使用JNDI

我正在尝试在JBoss中绑定数据源并在我的应用程序中使用它。 在我的努力中,我已经设法通过以下方式避免javax.naming.NameNotFoundException:
1.在java中使用new InitialContext().lookup(connection);
而不是new JndiObjectFactoryBean().setJndiName(connection);
2.将连接名称从''jndi-name'更改为'java:jndi-name'

现在的问题是我从查找中得到的数据是空的 我创建了datsource文件:

 <datasources>  
   <local-tx-datasource>
    <jndi-name>bilby</jndi-name>
    <connection-url>jdbc:oracle:myURL</connection-url>
    <driver-class>oracle.jdbc.OracleDriver </driver-class>
    <user-name>myUsername</user-name>
    <password>myPassword</password>        
    <exception-sorter-class- name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>

            <metadata>
         <type-mapping>Oracle9i</type-mapping>
      </metadata>   
</local-tx-datasource>

</datasources>

并将其放在\\ server \\ default \\ deploy \\ oracle-ds.xml下
我在运行时获得了这一行:

18:37:56,560 INFO [ConnectionFactoryBindingService]绑定ConnectionManager'jb oss.jca:service = DataSourceBinding,name = bilby'到JNDI名称'java:bilby'

所以我的问题是 - 为什么我得到null作为我的数据源?

首先,我只想确定你说的时候

将连接名称从''jndi-name'更改为'java:jndi-name'

那你真的是指java:bilby ,对吗?

我不确定为什么会发生这种情况,但我可以提出一个解决方法。

<jndi-name>元素后面的oracle-ds.xml添加以下行:

<use-java-context>false</use-java-context>

部署它时,它应该从JNDI绑定中删除java:前缀。 然后你应该能够使用:

new InitialContext().lookup("bilby")

并恢复你的DataSource

首先,我建议查看JBOSS_DIST/docs/examples/jca可用的所有配置选项(包括池大小参数)。

其次,我使用hsqldb-ds.xml配置的默认数据源进行了快速测试,其定义如下:

<datasources>
   <local-tx-datasource>

      <!-- The jndi name of the DataSource, it is prefixed with java:/ -->
      <!-- Datasources are not available outside the virtual machine -->
      <jndi-name>DefaultDS</jndi-name>

      ...

</datasource>

以下查找正常:

DataSource ds = null;
Connection conn = null;
try {
    ds = (DataSource) new InitialContext().lookup("java:/DefaultDS");
    conn = ds.getConnection();
    // ...
    conn.close();
} catch (Exception e) {
    // handle me
}

如果这不适合您,可能会明确说明您传递给lookup方法的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM