import java.util.*;
import javax.naming.*;
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.enterprise.naming.SerialInitContextFactory");
env.put(Context.PROVIDER_URL, "localhost:1099");
Context ic = new InitialContext();
ic.bind(JNDI, "Teach YourSelf J2EE in 21 Days");
System.out.println("Bound: " + JNDI);
}catch(NamingException ex) {
System.err.println(ex);
System.exit(1);
}
}
}
Galera, tá vendo esse código aí? Não tá funcionando… Ele remete um erro na execução:
javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory]
Pelo que eu tenho no livro, essa classe é a Default do JNDI para o contexto inicial.
Eu sei que tem que fazer alguma referência no ClassPath, mas não sei que referencia é essa…
O J2EE que eu to usando é o 1.4…
Alguém pode me ajudar?
Abs
Ramon