initialcontext java,独立Java程序中的Initialcontext

I'm using a JNDI for creating tomcat connection pool. It works great in a web application. I believe the InitialContext is provided by the tomcat server.

Context initContext = new InitialContext();

Context envContext = (Context)initContext.lookup("java:/comp/env");

dataSource = (DataSource)envContext.lookup("jdbc/testdb");

But when I try to call the same utility from a standalone Java program, the initContext object is null. How can I explicitly provide all the necessary properties that Context object is expecting.

Error : javax.naming.NoInitialContextException: Need to specify class

name in environment or system property, or as an applet parameter, or

in an application resource file: java.naming.factory.initial

解决方案

You could also create your own custom context.

LocalContext ctx = LocalContextFactory.createLocalContext();

ctx.addDataSource("jdbc/testdb", driverName, url, usr, pwd);

0ea4061493d087a305702caccdf8f831.gif UPDATE

Setup:

SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder();

builder.bind("jdbc/Oracle", ods);

builder.activate();

Use:

DataSource ds = InitialContext.doLookup("jdbc/Oracle");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值