Hi everyone:
im triying to connect to JNDI from a standalone app, i start sucessfully
JBOSS and use the environment properties as indicated in JBOSS
doc but it sends an javax.naming.NoInitialContextException
I dont know why it sends the exception, is it something about security in jboss (this is not an
EJB) or the parameters are wrong in the JBoss doc?
this is the code:
public class ConnectJNDI {
public static void main (
String[] args) {
Hashtable env = new Hashtable ();
env.put (Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.NamingContextFactory");
env.put (Context.PROVIDER_URL, "jnp://localhost:1099");
env.put (Context.URL_PKG_PREFIXES, "org.jboss.naming

rg.jnp.interfaces");
//env.put (Context.)
try {
InitialContext initCtx = new InitialContext( env );
initCtx.bind("x", new Object ());
} catch (NamingException e) {
System.out.println ( "PROBLEMS exception: " + e.getClass().getName() + " \nMessage: " + e.getMessage() );
e.printStackTrace();
}
}
}
an the stack is:
PROBLEMS exception: javax.naming.NoInitialContextException
Message: Cannot instantiate class: org.jboss.naming.NamingContextFactory
javax.naming.NoInitialContextException: Cannot instantiate class: org.jboss.naming.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jboss.naming.NamingContextFactory]
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.<init>(InitialContext.java:197)
at jndi.ConnectJNDI.main(ConnectJNDI.java:28)
Caused by: java.lang.ClassNotFoundException: org.jboss.naming.NamingContextFactory
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