java使用JNDI 获取weblogic配置的数据源 连接数据库

1、引入jars 在C:\Program Files1\bea\weblogic92\server\lib下面(我只选择weblogic.jar IDE给我加一堆)

代码中webdev是我配置的数据源

  1. import java.sql.Connection;  
  2. import java.util.Properties;  
  3.   
  4. import javax.naming.Context;  
  5. import javax.naming.InitialContext;  
  6. import javax.sql.DataSource;  
  7.   
  8. public class Test {  
  9.     public static void main(String args[]) {  
  10.         try {  
  11.   
  12.             Properties pro = new Properties();   
  13.             pro.setProperty(Context.PROVIDER_URL, "t3://localhost:7001");  
  14.             pro.setProperty(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.T3InitialContextFactory");  
  15.             Context ctx = new InitialContext(pro);  
  16.             DataSource ds = (DataSource) ctx.lookup("webdev");  
  17.             Connection cn = ds.getConnection();   
  18.             System.out.println(cn);  
  19.         } catch (Exception ex) {  
  20.             ex.printStackTrace();  
  21.         }  
  22.     }  
  23. }  

如果程序运行在容器中了,就不用写下面的了。

  1. Properties pro = new Properties() ;   
  2. pro.setProperty(Context.PROVIDER_URL,"t3://localhost:7001") ;  
  3. pro.setProperty(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.T3InitialContextFactory") ;  

因为已经在上下文中了,直接

  1. try {  
  2.             Context ctx = new InitialContext();  
  3.             DataSource ds = (DataSource) ctx.lookup("webdev");  
  4.             connection = ds.getConnection();  
  5.         } catch (SQLException e) {  
  6.             e.printStackTrace();  
  7.         } catch (NamingException e) {  
  8.             e.printStackTrace();  
  9.         }  


参考:

Java程序连接weblogic配置的数据源

 

类比jboss中通过JNDI获得的EJB SessionBean的代码

  1. try {  
  2.             Properties props = new Properties();  
  3.             // 设置Jboss服务器的JNDI驱动的类名  
  4.             props.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");  
  5.             // 设置Jboss服务器提供命名服务的URL  
  6.             props.setProperty(Context.PROVIDER_URL, "localhost:1099");  
  7.             InitialContext ctx = new InitialContext(props);  
  8.             // looking up SessionBean  
  9.             departmentDao = (DepartmentDao) ctx.lookup("DepartmentDaoBean/remote");  
  10.         } catch (NamingException e) {  
  11.             e.printStackTrace();  
  12.         } catch (Exception ex) {  
  13.             ex.printStackTrace();  
  14.         }  

 同样,如果程序运行在jboss容器中,直接以下代码

  1. Context ctx = new InitialContext();  

 


转自:http://blog.csdn.net/ncepuzhuang/article/details/8230787
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值