The problem is that ResourceBundle is kindof broken. Like many other
java APIs ( JAXP, JNDI, URL, etc ), early versions are not capable
of using the application class loader.

This is ( IMHO ) a bug, and for some APIs it is fixed ( JAXP and JNDI for
sure, unfortunately not for URL ).

The solution - for JDK1.2+ - is to use the 3 parameter getBundle, with
Thread.currentThread().getContextClassLoader() as the third param.
For JDK1.1 there's nothing you can do.

Let me know if it doesn't work - I tried this before and I had no
problems.  The resources could be in WEB-INF/classes, a jar in
WEB-INF/lib or any jar in the app.classloader.


Costin


On Mon, 26 Nov 2001, Keith Wannamaker wrote:

> I think there may be a problem with resource loading in TC3.3.
> If I add a property file to the app class path by setting
> org.apache.tomcat.apps.classpath, then the call to
> ResourceBundle.getBundle("foo") doesn't find it.  Nor does
> it get located if I place the said property file in tomcat/lib/apps.
> In fact, the only way I have been able to find it is to
> override the classpath in the tomcat script.
>
> The good news is that, by setting org.apache.tomcat.apps.classpath,
> initClassLoaders() does set the AppsLoader class to a ClassLoader
> which contains my properties file.
>
> The bad news is this doesn't seem to be the deafult loader used
> in the call to ResourceBundle.getBundle("foo").
>
> The only thing I can think of trying is
> ResourceBundle.getBundle("foo", Locale.getDefault(),
>                          magic.ContextManager.getAppsLoader());
> but that binds the code to the Tomcat container.
>
> My next step is to rebuild the jdk with debugging info to see which
> loader is actually being used in ResourceBundle.getBundle, but
> I appreciate any insight in the interim.
>
> Keith
>
>
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to