如何从 Jboss 连接 Oracle 数据库并在 JDNI 中注册该连接?

Posted

技术标签:

【中文标题】如何从 Jboss 连接 Oracle 数据库并在 JDNI 中注册该连接?【英文标题】:How to connect Oracle Database from Jboss and register that connection in JDNI? 【发布时间】:2017-02-19 04:06:12 【问题描述】:

我已经:

 public Connection getConnection() throws NamingException 

     Connection cnn = null;

     try 
         InitialContext init = new InitialContext();
         DataSource ds = (DataSource) init.lookup("java:/inventario");

         try 
             cnn = ds.getConnection();
          catch(SQLException ex) 
             System.out.println("ERROR GETTING CONNECTION: "+ex.getMessage());
         

      catch(NamingException ne) 
         System.out.println("ERROR connect method: "+ne.getMessage());
     
     return cnn;
 

并执行测试连接:“错误连接方法:需要在环境或系统属性中指定类名,或作为小程序参数,或在应用程序资源文件中:java.naming.factory.initial”

Jboss配置jdni的照片:

【问题讨论】:

标题现在更清楚了 【参考方案1】:

上面的代码成功返回连接。检查服务器的jndi配置。示例wildfly配置如下

 <datasource jta="false" jndi-name="java:/MSSQLDS" pool-name="MSSQLDS" enabled="true" use-java-context="true">
                    <connection-url>jdbc:oracle:thin:@192.168.xx.xxx:1521/xxx.SERVER</connection-url>
                    <driver>oracle</driver>
                    <pool>
                        <min-pool-size>1</min-pool-size>
                        <max-pool-size>5000</max-pool-size>
                        <prefill>true</prefill>
                    </pool>
                    <security>
                        <user-name>xxxx</user-name>
                        <password>xxxx</password>
                    </security>
                </datasource>

【讨论】:

以上是关于如何从 Jboss 连接 Oracle 数据库并在 JDNI 中注册该连接?的主要内容,如果未能解决你的问题,请参考以下文章

Jboss Oracle JDBC 连接失败

jboss 7 oracle 数据源配置

Jboss数据库连接断开自动重连

为啥从 JBoss 7.1.0EAP 到 Oracle 11g 生成了 100 个幽灵 Oracle 会话

EBJ 3 实体 bean、JBoss 和 Oracle DB 10g 配置异常

如何从 Eclipse 运行和调试 JBoss EAP 6?