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就是 InitialContext 相关的2项吧
初始化如下: Properties h = new Properties(); h.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory"); h.put(Context.PROVIDER_URL,"t3://localhost:7001");Context ctx = new InitialContext(h);数据源在控制台那边查看一下有没错!
然后Context ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/datasource");试试看
zcjl(莫等闲,白了少年头) :包我都导进来了。按照你说的也不行呀
Hashtable env = new Hashtable();
env.put(InitialContext.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
env.put(InitialContext.PROVIDER_URL,"t3://localhost:7001");
env.put(InitialContext.SECURITY_PRINCIPAL,"system");
env.put(InitialContext.SECURITY_CREDENTIALS,"weblogic");
InitialContext ctx = new InitialContext(env);
DataSource ds = (DataSource)ctx.lookup("TestDS");另外看看你的数据源是不是配置的对, 其实我自己用都没设置这么多
InitialContext initialcontext = new InitialContext();
DataSource datasource = (DataSource)initialcontext.lookup("DataSource_rex");
conn = datasource.getConnection();就能用了阿?
至于weblogic,我也不清楚
也是正如楼上ll42002(灰舌)所说吧
rex0y(没学好九阳神功就妄想几小时练成乾坤大挪):加了就可以了,可是为什么呀。
在bmp中相对应的connectdb()中,我就没写呀。怎么就可以呢。是不是上面那段代码weblogic已经加到ejb中了?而开发人员看不到??
datasource好像是jndi名
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL,"t3://localhost:7001");Context ctx = new InitialContext(h);数据源在控制台那边查看一下有没错!