users@glassfish.java.net

Re: Glassfish classloaders

From: Sahoo <Sahoo_at_Sun.COM>
Date: Fri, 22 Feb 2008 13:58:47 +0530

delegate = false must always be used with extreme caution, as it can
lead to nasty ClassCastException. When you specify delegate = false,
that means the WebAppClassloader prefers classes defined in the war to
classes defined outside the war. But, if a class is not defined in the
war, then it eventually delegates up the hierarchy. So, I don't quite
agree that with what is documented there. If you know you are not
duplicating local EJB interface classes in your ejb-jar and war, then
you should still be able to use delegate = false. The key here is that
you must *not* have classes that are used in the local EJB interfaces
packaged as part of the war. May be someone can correct me here.

Thanks,
Sahoo

glassfish_at_javadesktop.org wrote:
> Yes, I edited the post, but I guess it doesn't resend it to the email list.
>
> Citing that document:
>
> "The default value is delegate="true", which causes the Web Classloader to delegate in the same manner as the other class loaders. You must use delegate="true" for a web application that accesses EJB components or that acts as a web service client or endpoint. For details about sun-web.xml, see "The sun-web.xml File" in Sun Java System Application Server Enterprise Edition 9.0 2006Q1 Application Deployment Guide."
>
> Note the "must use delegate" part of the second sentence.
> [Message sent by forum member 'whartung' (whartung)]
>
> http://forums.java.net/jive/thread.jspa?messageID=260375
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>