You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by KR�LIK Vladim�r <vl...@asset.sk> on 2002/06/07 15:57:50 UTC

Cocoon2 and JNDI in Weblogic 6.1 and Tomcat 4

Hello,

	I have problem with using JNDI with Cocoon 2 in Weblogic 6.1 and
Tomcat 4. Can anybody help me ?

		thanks
				vlk

First : Weblogic 6.1, Windows NT, Cocoon 2.0.1, jdk1.3.1
In Weblogic I get object whith lookup, but then I get ClassCastException,
	Context ctx=new InitialContext()
	Object obj1 = ctx.lookup("java:comp/env/ejb/MyObject")
	Object obj2 = PortableRemoteObject.narrow(obj1,MyClass.class);
	MyClass obj3 = (MyClass) obj2; // throw ClassCastException

but when I change classloader to its parent, all work fine :
	Context ctx=new InitialContext()
	ClassLoader cl = Thread.currentThread().getContextClassLoader();
	Thread.currentThread().setContextClassLoader(cl.getParent());
	Object obj1 = ctx.lookup("java:comp/env/ejb/MyObject")
	Object obj2 = PortableRemoteObject.narrow(obj1,MyClass.class);
	MyClass obj3 = (MyClass) obj2;	// no exception

Second : Tomcat 4.0.2, Windows NT, Cocoon 2.0.1, jdk1.3.1
I get empty JNDI context in classes which are loaded in Cocoon ClassLoader

	Context ctx=new InitialContext()
	NamingEnumeration enu = ctx.list("java:comp")
	// now enu is empty

But when I use, the same code in JSP-page without Cocoon2 servlet, it's work
fine.
Again, when  I change ClassLoader to parent, it work.
	ClassLoader cl = Thread.currentThread().getContextClassLoader();
	Thread.currentThread().setContextClassLoader(cl.getParent());
	Context ctx=new InitialContext()
	NamingEnumeration enu = ctx.list("java:comp")
	// this work in Cocoon2
	Thread.currentThread().setContextClassLoader(cl);

In Tomcat sources I found, that each web-application has own JNDI-context,
and this context is associated ( and identified ) with classloader. So when
Cocoon creates own classloader, lost tomcat's JNDI context.







	
	

---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>