1、引入jars 在C:\Program Files1\bea\weblogic92\server\lib下面(我只选择weblogic.jar IDE给我加一堆)
代码中webdev是我配置的数据源
[java]
view plaincopyprint?
importjava.sql.Connection;importjava.util.Properties;importjavax.naming.Context;importjavax.naming.InitialContext;importjavax.sql.DataSource;publicclassTest {publicstaticvoidmain(String args[]) {try{Properties pro = newProperties();pro.setProperty(Context.PROVIDER_URL, "t3://localhost:7001");pro.setProperty(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.T3InitialContextFactory");Context ctx = newInitialContext(pro);DataSource ds = (DataSource) ctx.lookup("webdev");Connection cn = ds.getConnection();System.out.println(cn);} catch(Exception ex) {ex.printStackTrace();}}}
如果程序运行在容器中了,就不用写下面的了。
[html]
view plaincopyprint?
Propertiespro=newProperties() ;pro.setProperty(Context.PROVIDER_URL,"t3://localhost:7001") ;pro.setProperty(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.T3InitialContextFactory") ;
因为已经在上下文中了,直接
[html]
view plaincopyprint?
try {Context ctx=newInitialContext();DataSource ds= (DataSource) ctx.lookup("webdev");connection=ds.getConnection();} catch (SQLException e) {e.printStackTrace();} catch (NamingException e) {e.printStackTrace();}
参考:
Java程序连接weblogic配置的数据源
类比jboss中通过JNDI获得的EJB SessionBean的代码
[java]
view plaincopyprint?
try{Properties props = newProperties();// 设置Jboss服务器的JNDI驱动的类名props.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory");// 设置Jboss服务器提供命名服务的URLprops.setProperty(Context.PROVIDER_URL, "localhost:1099");InitialContext ctx = newInitialContext(props);// looking up SessionBeandepartmentDao = (DepartmentDao) ctx.lookup("DepartmentDaoBean/remote");} catch(NamingException e) {e.printStackTrace();} catch(Exception ex) {ex.printStackTrace();}
同样,如果程序运行在jboss容器中,直接以下代码
[java]
view plaincopyprint?
Context ctx =newInitialContext();
转自:http://blog..net/ncepuzhuang/article/details/8230787