OracleJNDI
【摘要】 import java.sql.SQLException; import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException; import oracle.jdbc.pool.OracleDataSource; public class Orac...
-
import java.sql.SQLException;
-
-
import javax.naming.Context;
-
import javax.naming.InitialContext;
-
import javax.naming.NamingException;
-
-
import oracle.jdbc.pool.OracleDataSource;
-
-
public class OracleJNDI
-
{
-
-
public OracleJNDI() throws SQLException
-
{
-
super();
-
}
-
/**
-
* 使用sun提供的com.sun.jndi.fscontext.RefFSContextFactory作为JNDI服务器,
-
* 其实这是使用文件系统来存储JNDI对象
-
* @param args
-
* @throws NamingException
-
* @throws SQLException
-
*/
-
public static void main(String[] args) throws NamingException, SQLException
-
{
-
-
//Properties ps = new Properties();
-
//为系统设置jndi工厂
-
System.setProperty(Context.INITIAL_CONTEXT_FACTORY,
-
"com.sun.jndi.fscontext.RefFSContextFactory");
-
//指定JNDI URL
-
System.setProperty(Context.PROVIDER_URL, "file:JNDI_REF");
-
Context ctx = new InitialContext();
-
-
//OracleDataSoruce对象,它已经实现了javax.naming.Referencable
-
OracleDataSource ojndi = new OracleDataSource();
-
-
//设置相关数据库属性
-
ojndi.setDatabaseName("DXS");
-
ojndi.setURL("jdbc:oracle:thin:@localhost:1521:dflcrm");
-
ojndi.setUser("smp_dba");
-
ojndi.setPassword("123");
-
ojndi.setDescription("JDBC Datasource connection.");
-
-
//重新绑定OJNDI对象
-
ctx.rebind("ojndi", ojndi);
-
System.out.println("bind successful");
-
//关闭
-
ctx.close();
-
}
-
-
}
测试
-
import java.sql.Connection;
-
import java.util.Properties;
-
-
import javax.naming.Context;
-
import javax.naming.InitialContext;
-
-
import oracle.jdbc.pool.OracleDataSource;
-
-
public class Lookup
-
{
-
/**
-
* 这是一个演示了如果查找JNDI的方法,注意以下二点:
-
* 1.确保系统属性中存在Context.INITIAL_CONTEXT_FACTORY和Context.PROVIDER_URL(这不是必须的,如果没有则2)
-
* 2.如果没有设置系统属性,那么必须由相关的有这二个变量的HashTable构造Context对象 下面的演示采用第二种实现
-
*
-
* @param args
-
* @throws Exception
-
*/
-
public static void main(String[] args) throws Exception
-
{
-
//构造HashTable对象
-
Properties ps = new Properties();
-
ps.setProperty(Context.INITIAL_CONTEXT_FACTORY,
-
"com.sun.jndi.fscontext.RefFSContextFactory");
-
ps.setProperty(Context.PROVIDER_URL, "file:JNDI_REF");
-
//由HashTable对象构造Context对象
-
Context ctx = new InitialContext(ps);
-
//查找"OJNDI"
-
OracleDataSource dataSource = (OracleDataSource) ctx.lookup("ojndi");
-
System.out.println("dataSource: " + dataSource);
-
Connection conn = dataSource.getConnection();
-
System.out.println(conn);
-
}
-
-
}
文章来源: bugstack.blog.csdn.net,作者:Yao__Shun__Yu,版权归原作者所有,如需转载,请联系作者。
原文链接:bugstack.blog.csdn.net/article/details/8088726
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)