关于lookup的一个问题,有时候有参数,有时候可以没有参数?
switch (whichFactory)
{
case JNDINames.WEBLOGIC :
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, "t3://localhost:7001");
InitialContext ctx = new InitialContext(ht);
sqlSource=(DataSource)ctx.lookup(JNDINames.DATASOURCE);
break;
case JNDINames.OC4J :
InitialContext context = new InitialContext();
sqlSource = (DataSource)context.lookup(JNDINames.DATASOURCE);
break;
case JNDINames.JBOSS :
case JNDINames.WEBSPHERE :
default:
Context env1 = (Context)(new InitialContext()).lookup("java:comp/env");
sqlSource = (DataSource)env1.lookup(JNDINames.DATASOURCE);
break;
}
以上这段代码中,new InitialContext(); 为什么有时候有参数,有时候没有?
oc4j没有参数是因为它可以自己识别?datasource在它的根目录下?自己可以默认识别是本机上?( ht.put(Context.PROVIDER_URL, "t3://localhost:7001");)
相反,weblogic全部设置好了?
前面这2个的lookup和最后的lookup("java:comp/env")和ejb中lookup 三者的关系又是如何?希望高手能加以指点