问一个有关JNDI的问题:Context.PROVIDER_URL的写法
我是用的服务器是j2sdkee1.3.1,下面是程序代码:
import javax.naming.*;
import java.util.Hashtable;
public class JNDIBind{
private final static String JNDI="sams/book";
public static void main(String args[]){
try{
Hashtable env=new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.cosnaming.CNCtxFactory");
env.put(Context.PROVIDER_URL,"localhost:1099");
Context ic=new InitialContext(env);
ic.bind(JNDI,"Teach yourself J2EE in 21 days!");
System.out.println("Bind"+JNDI);
}catch(NamingException ex){
ex.printStackTrace();
System.exit(1);
}
}
}
以下是错误信息:
javax.naming.ConfigurationException: Invalid URL: localhost:1099. Root exceptio
n is java.net.MalformedURLException: unknown protocol: localhost
at java.net.URL.<init>(URL.java:586)
at java.net.URL.<init>(URL.java:476)
at java.net.URL.<init>(URL.java:425)
at com.sun.jndi.cosnaming.CNCtx.getStringifiedIor(CNCtx.java:401)
at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:198)
at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:69)
at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.ja
va:32)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:6
62)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243
)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at JNDIBind.main(JNDIBind.java:13)
问题肯定是在于Context.INITIAL_CONTEXT_FACTORY和Context.PROVIDER_URL的写法,问题是这两个信息在哪个文件中可以找到,我想在不同的服务器肯定是不同的。