Meu exemplo com JNDI lança o seguinte:
javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.jndi.f scontext.RefFSContextFactory …
ALguem pode me ajudar
Meu exemplo com JNDI lança o seguinte:
javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.jndi.f scontext.RefFSContextFactory …
ALguem pode me ajudar
ALguem mais ?
Como esta teu jndi.properties ?
Nem sabia que precisava !
Meu codigo:
import java.util.Hashtable;
import javax.naming.*;
public class TEsteJNDI {
public static void main(String[] args) {
try {
String name = "Teste"
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.fscontext.RefFSContextFactory");
Context ctx = new InitialContext(env);
Object obj = ctx.lookup(name);
System.out.println(name + " is bound to: " + obj);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Execao
javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.jndi.fscontext.RefFSContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.jndi.fscontext.RefFSContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.(InitialContext.java:197)
at TEsteJNDI.main(TEsteJNDI.java:13)
Caused by: java.lang.ClassNotFoundException: com.sun.jndi.fscontext.RefFSContextFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
… 4 more
Você precisa ter um arquivo jndi.properties com algumas configurações.
Exemplo:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost
Esse arquivo vai ficar no raiz do projeto ?
Ele precisa estar no teu CLASSPATH.
Qual servidor de aplicação você esta utilizando?