I put jndi.jar into my web-inf/lib directory as well, not sure if I should
or not.

-----Original Message-----
From: Chris Wilson [mailto:[EMAIL PROTECTED]]
Sent: Friday, December 15, 2000 10:51 AM
To: [EMAIL PROTECTED]
Subject: [jBoss-User] standalone tomcat classloader issues?


hello,

i've just started using jboss and tomcat.  i have jboss and tomcat running
separately (no integration) and am attempting to access ejb's from a jsp.

i followed the instructions at jboss.org that told me to put the jboss
client files and my ejb interfaces into the WEB-INF/lib directory of my
webapp.  however, when i do that, i get a ClassNotFound exception when
trying to load the org.jnp.interfaces.NamingContextFactory.  if i put my
files in tomcat's main lib directory, then everything works fine.  i don't
want to do this however for two reasons: (1) the docs said it should go in
WEB-INF/lib and (2) i can't pack up my app into a war if the classes have to
be in the global lib directory.

i've searched archives regarding this issue and from what i could tell, it's
a class loader problem?

anyone have any ideas what i'm doing wrong?  thanks for the help in advance!

here is the list of file in my WEB-INF/lib:

11/14/2000  07:12p               7,958 ejb.jar
12/14/2000  03:23p               4,435 its.jar
11/14/2000  07:12p              71,549 jboss-client.jar
11/14/2000  07:12p              14,294 jnp-client.jar
11/14/2000  07:12p               8,809 jta-spec1_0_1.jar
12/15/2000  09:42a              23,348 kronos-ext.jar
12/15/2000  09:42a               7,371 kronos.jar
12/14/2000  02:36p               3,341 wondergeek.jar


here is my jsp code causing the error:

Hashtable env = new Hashtable();
env.put("java.naming.factory.initial",
"org.jnp.interfaces.NamingContextFactory");
env.put("java.naming.provider.url", "localhost:1099");
env.put("java.naming.factory.url.pkgs", "org.jboss.naming");
Context context = new InitialContext(env);
// i don't think i even ever get here...
Object ref = context.lookup("KronosServerBean");
KronosServerHome kh = (KronosServerHome)PortableRemoteObject.narrow(ref,
KronosServerHome.class);
KronosServer ks = kh.create();


and here is the stacktrace from tomcat:

Internal Servlet Error:

javax.servlet.ServletException: Cannot instantiate class:
org.jnp.interfaces.NamingContextFactory
        at
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImp
l.java:459)
        at
_0002findex_0002ejspindex_jsp_30._jspService(_0002findex_0002ejspindex_jsp_3
0.java:89)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:177)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
        at java.lang.Thread.run(Thread.java:484)

Root cause:
javax.naming.NoInitialContextException: Cannot instantiate class:
org.jnp.interfaces.NamingContextFactory.  Root exception is
java.lang.ClassNotFoundException: org.jnp.interfaces.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:297)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:195)
        at
com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:45)
        at
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:655)
        at
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)
        at javax.naming.InitialContext.init(InitialContext.java:222)
        at javax.naming.InitialContext.(InitialContext.java:198)
        at
_0002findex_0002ejspindex_jsp_30._jspService(_0002findex_0002ejspindex_jsp_3
0.java:68)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.ja
va:177)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
        at org.apache.tomcat.core.Handler.service(Handler.java:286)
        at
org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
        at
org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:79
7)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC
onnectionHandler.java:210)
        at
org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
        at
org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
        at java.lang.Thread.run(Thread.java:484)

cheerio,
chris

| chris wilson || web dev ||| www.wondergeek.com || |



--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]


--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Problems?:           [EMAIL PROTECTED]

Reply via email to