JNDI

JNDI 与 静态变量 有什么不同: 命名目录接口,功能和代码中的静态变量有点相同,不过静态变量只在当前程序中使用,而 JDNI 可以有好几个程序来使用。

(
JNDI走的是网络,因此共享资源是多进程,多机器之间.而静态变量只是本进程共享.
JNDI主要作用是为分布式开发作服务的,当你需要网络上其它主机给你提供服务时候,可以将该主机的服务注册成JNDI,之后直接从JNDI处获取服务.
)

[b]How to use:[/b]

[b]1.创建初始上下文环境[/b]

Properties p = new Properties();
//JNDI Server Type
p.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
//JNDI Server URL
p.put(javax.naming.Context.PROVIDER_URL, "t3://localhost:7001");
//Set Security (Optional)
p.put(javax.naming.Context.SECURITY_PRINCIPAL, "User_Name");
p.put(javax.naming.Context.SECURITY_CREDENTIALS, "User_Password");
//JNDI Context Initial
javax.naming.Context ctx = null;
try {
ctx = new InitialContext(p);
} catch (NamingException e) {
e.printStackTrace();
}


[b]2.JNDI操作[/b]
2.1 JNDI对象绑定
try {
String nameString = "Hello World";
ctx.bind("name", nameString);
} catch (NamingException e) {
e.printStackTrace();
}

2.2 JNDI对象的重新绑定
try {
String nameString = "Hello World Rebind";
ctx.bind("name", nameString);
} catch (NamingException e) {
e.printStackTrace();
}

2.3 JNDI对象的删除
try {
ctx.unbind("name");
} catch (NamingException e) {
e.printStackTrace();
}

2.4 JNDI对象的查找
try {
String nameStr = (String)ctx.lookup("name");
} catch (NamingException e) {
e.printStackTrace();
}

2.5 注意重复绑定的问题
try {
Object obj = ctx.lookup("name");
if(obj instanceof String)
ctx.unbind("name");
String newString = "New World";
ctx.bind("name", newString);
} catch (NamingException e) {
e.printStackTrace();
}


[b]How to implement:[/b]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值