We use Spring 1.2, but long ago wrote our own subclass of ApplicationContext that will grab context override files from elsewhere (including the local filesystem rather than the classpath). It offers pretty much the exact functionality you are looking for. I'm sure it can be applied to spring 2.0 as well. It lets us have a default config defined in the application context which works on developer machines, and then have overrides that live in app context files on the local filesystem in production boxes. Any bean defined in an override file will automatically replace any bean of the same name found in the application context that would be loaded without the override. You can also provide totally unique beans in an override context. This allows us to drop a developer build directly on a production machine and the production overrides will be autodetected and utilized. It probably isn't quite as flexible as hibernate's mechanism, but it is flexible enough for our use cases. I can talk to the lawyerly folks about whether I can make it public if you'd like.
One cute little thing we do with it is to override the name of the CSS files that get used. This allows us to have a look and feel that makes it abundantly clear you are not in a production environment (the color scheme is pink and lime-green unless you have a production override). I'm sure hivemind would give us a more elegant solution to the same problem(or at least a built-in solution to it), but then I'd have to know more about hivemind, something I'm trying to avoid, since we've already got enough frameworks that I have to be expert in (tapestry, spring, dojo, hibernate, quartz, j2ee, etc). Honestly, if you can get away with just using hivemind, then I'd recommend it, if only becuse it will be one less framework you need to deal with, which is probably a good thing. But if you must have some of Spring's features, then my strategy of minimizing our dependancy on hivemind has worked out very well for us. --sam --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]