I just looked at the source of AbstractComplementaryConfigurableAction.java. Is the descriptor unique in the whole JVM? I think one should use resource.getSystemId() instead as key in the configurations map, as descriptor might be a relative path or somthing similar. BTW: I really like C2! Cheers, Johannes Hofmann Possible patch: --- AbstractComplementaryConfigurableAction.java.orig Thu Jul 26 11:12:41 2001 +++ AbstractComplementaryConfigurableAction.java Thu Jul 26 11:17:52 2001 @@ -66,16 +66,16 @@ } synchronized (AbstractComplementaryConfigurableAction.configurations) { - conf = (ConfigurationHelper) AbstractComplementaryConfigurableAction.configurations.get(descriptor); - - if (reloadable || conf == null) { - SourceHandler sourceHandler = null; - Source resource = null; - - try { - sourceHandler = (SourceHandler) this.manager.lookup(SourceHandler.ROLE); - resource = sourceHandler.getSource(null, descriptor); + SourceHandler sourceHandler = null; + Source resource = null; + + try { + sourceHandler = (SourceHandler) +this.manager.lookup(SourceHandler.ROLE); + resource = sourceHandler.getSource(null, descriptor); + + conf = (ConfigurationHelper) +AbstractComplementaryConfigurableAction.configurations.get(resource.getSystemId()); + if (reloadable || conf == null) { if (conf == null || conf.lastModified < resource.getLastModified()) { getLogger().debug("(Re)Loading " + descriptor); if (conf == null) @@ -87,18 +87,16 @@ conf.lastModified = resource.getLastModified(); conf.configuration = builder.getConfiguration(); - this.cacheConfiguration(descriptor, conf); + this.cacheConfiguration(resource.getSystemId(), conf); } else { getLogger().debug("Using cached configuration for " + descriptor); } - } catch (Exception e) { + } + } catch (Exception e) { getLogger().error("Could not configure Database mapping environment", e); throw new ConfigurationException("Error trying to load configurations for resource: " + (resource == null ? "null" : resource.getSystemId())); - } finally { + } finally { if (sourceHandler != null) this.manager.release((Component) sourceHandler); - } - } else { - getLogger().debug("Using fixed cached configuration for " + descriptor); } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]