两种使用weblogic连接池的方法:JAVA应用程序

         我只想在开发的java应用中利用weblogic提供的数据源,不想用JDBC直接连接到数据库可以吗?其实我正是带着这样的疑问开始的,而到最后得到的答案是肯定的。    首先还是在Myeclipse中新建一个java过程,当然了先是创建一个生成连接的类Connect.java,这里给出我的代码:

package connection;
import java.sql.*;
import java.util.*;
import javax.naming.*;
public class Connect {
  public Connection getConnect(){
	  Context ctx = null;  
	  Hashtable ht = new Hashtable();  
	  ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
	  ht.put(Context.PROVIDER_URL,"t3://172.16.1.200:7002");
	  Connection conn = null; 
	  try {    
	   ctx = new InitialContext(ht);    
	  javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup ("JNDI_scott");    
	  conn = ds.getConnection();
	  }catch(Exception e){
		  e.printStackTrace();
	  }
	  return conn;
  }
}
这里说明的是:
import的包要齐全;
在哈希表中放置生成上下文实例的两个参数:Context.INITIAL_CONTEXT_FACTORY,Context.PROVIDER_URL;
对于weblogic而言,第一个值是已经定好的就是:"weblogic.jndi.WLInitialContextFactory",它实际上时weblogic.jar中的一个类;
对于URL而言,前面是协议,后面是IP地址,再后面就是对应域名的端口号,例如:"t3://172.16.1.200:7002";
我曾视图将t3改成http,但是行不通,好像这就是java和weblogic通信的协议吧,换成别的不好使;
通过哈希表生成一个上下文实例,然后从上下文中lookup JDNI,从而得到连接。
      然后给出我的测试类,还是先给出我的代码:Test.java
package testdatasource;
import java.sql.*;
import connection.*;
public class Test {
  public static void main(String args[]){
	 Connect conn=new Connect();
	 Connection connection=conn.getConnect();
	 try{
	  Statement stmt=connection.createStatement();
	  stmt.execute("select sysdate from dual");
	  ResultSet rs=stmt.getResultSet();
	  while(rs.next()){
		  System.out.println(rs.getString(1));
	  }
	  rs.close();
	  stmt.close();
	  connection.close();
	 }catch(Exception e){
		 e.printStackTrace();
	 }
  }
}
这个类里面技术含量的东西没有了。对了给出目录结构吧,从目录结构中看出来我把weblogic.jar包到build path中了,路径可以参考,这里只是我的路径。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值