zoukankan      html  css  js  c++  java
  • 用JAVA代码获取Weblogic配置的JNDI 数据源连接

     第一步:生成与JDK版本对应的weblogicjar,利用cmd 进入到weblogic_home 路径下进入到server/lib目录,然后运行  JDK  1.6 命令 "java -jar wljarbuilder.jar" ,会生成wlfullclient.jar :

    第二步:建立一个JAVA工程,然后将上面生成的jar拷贝到你建立工程的classpath 下:

    第三步:新建一个java类,命名为JndiTest,代码如下:

    package jdbc;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.Hashtable;
    
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.sql.DataSource;
    
    
    public class JndiTest {
    
    
    	public static void main(String[] args) throws Exception {
    		  Hashtable ht = new Hashtable(); 
    		  ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); 
    		  ht.put(Context.PROVIDER_URL, "t3://127.0.0.1:7001"); 
    		  
    		  Context context=new InitialContext(ht);  
    
    		//注意:lookup 中的参数 是你在weblogic中配置的JNDI名称
    		 
    		  DataSource  ds = (DataSource) context.lookup("jdbc-oracle");  //配置的JNID名
    		  Connection  conn = ds.getConnection("weblogic", "weblogic");  //登陆weblogic的用户名、密码
    		  Statement stmt=conn.createStatement();
    		  String sql="select e.* from emp e";
    		  ResultSet rs=stmt.executeQuery(sql);
    		  while (rs.next()){
    			  System.out.println(rs.getInt(1));
    		  }
    	}
    
    }


    运行之后输出如下:

    7369
    7499
    7521
    7566
    7654
    7698
    7782
    7788
    7839
    7844
    7876
    7900
    7902
    7934


    忘记了说明,我配的数据源是连接本地的scott用户。

     

     以上是我配的JDNI基本数据了.

    注意:配置连接本地的JDNI,也许不用在配置TNS了,因为你安装oracle的时候,默认已经配置了 !在项目开发的过程中,我们连接的通常是远程的IP地址,所以配置数据源的时候,不要忘记配置TNS,否则是无法建立连接的。当然,你要获取weblogic 配置的JNDI,运行JAVA代码的时候,必须先启动Weblogic服务!

    至此,简单的使用JAVA代码获取weblogic配置的JNDI连接到此结束了!


    Web应用获取weblogic配置的数据源

     若是在Web应用中,直接用如下三行代码即可获取配置的JNDI数据源。

          Context ctx=new InitialContext();
          DataSource ds=(DataSource)ctx.lookup("jdbc-oracle");
          Connection conn=ds.getConnection();
  • 相关阅读:
    async/await使用深入详解
    尴尬的事情又发生Newtonsoft.Json vs Protobuf.net
    在dotnet core下去中心化访问HTTP服务集群
    条件随机场CRF(一)从随机场到线性链条件随机场
    用hmmlearn学习隐马尔科夫模型HMM
    隐马尔科夫模型HMM(四)维特比算法解码隐藏状态序列
    隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数
    隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率
    隐马尔科夫模型HMM(一)HMM模型
    EM算法原理总结
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300408.html
Copyright © 2011-2022 走看看