Are you sure if it is not looking your properties file in the
classpath of the webapp ?
When you say everything works fine until tomcat 5 is used , does the
console print out any error ? Also how do you know it is searching in
shared classes ?

On Wed, 21 Jul 2004 15:45:01 +0200, Rosenberg, Leon
<[EMAIL PROTECTED]> wrote:
> Hi,
> 
> it's a bit OT but maybe some of you had a similar problem shortly and
> can help.
> 
> We have a configuration component which configures other components of
> the application out of property files. The property files lies in the
> 'classes' directory of the application. Everything works fine until we
> use tomcat 5 (5.0.19).
> 
> In tomcat 5 the ClassLoader doesn't search for our property files in
> webapps/mywebapp/WEB-INF/classes. Instead it seems to search in
> shared/classes which imho should be done after the private webapp
> classpath has bin searched through.
> 
> As I said before it works fine with standalone applications and with
> resin.
> 
> Any ideas?
> 
> Regards
> 
> Leon
> 
> P.S.
> 
> The files are there and we have the rights to read them.
> 
> P. P.S. the code:
> 
>       private void updateConfigurable(IConfigurable target, boolean
> dontcheck){
> 
>             String fileName =
> target.getConfigurationName()+".properties";
> 
>             log.debug("Checking for "+"/"+fileName);
> 
>             log.debug("Approx. checking in
> "+target.getClass().getResource("/."));
> 
>             URL u = target.getClass().getResource("/"+fileName);
> 
>             if (u==null){
> 
>                   log.error(fileName+" doesn't exist, skipping update
> for "+target);
> 
>                   return;
> 
>             }
> 
>             if (!dontcheck){
> 
>                   log.debug("Checking "+target);
> 
>                   File f = new File(u.getFile());
> 
>                   long lastModified = f.lastModified();
> 
>                   long timestamp = getTimestamp(target);
> 
>                   if (lastModified<timestamp)
> 
>                         return;
> 
>                   log.debug("filename has been updated.");
> 
>             }
> 
>             log.debug("updating "+target);
> 
>             try{
> 
>                   Properties p = new Properties();
> 
> p.load(target.getClass().getResourceAsStream("/"+fileName));
> 
>                   target.notifyConfigurationStarted();
> 
>                   Enumeration keys = p.keys();
> 
>                   while(keys.hasMoreElements()){
> 
>                         String key = (String)keys.nextElement();
> 
>                         String value = p.getProperty(key);
> 
>                         target.setProperty(key, value);
> 
>                   }
> 
>                   target.notifyConfigurationFinished();
> 
>                   setTimestamp(target);
> 
>             }catch(Exception e){
> 
>                   log.error("updateConfigurable", e);
> 
>             }
> 
>       }
> 
>

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

Reply via email to