当前位置: 代码迷 >> Web前端 >> 用JAVA代码获取Weblogic配置的JNDI 数据源联接
  详细解决方案

用JAVA代码获取Weblogic配置的JNDI 数据源联接

热度:230   发布时间:2013-10-08 17:08:58.0
用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连接到此结束了!

 

 

 

 

 

 

 

 

 

 

 

  相关解决方案