When developing a JEE web-app which is deployed as a WAR, where do you keep your environment-related configuration (e.g. database URL, various login credentials etc.)?
For example, let's say that certain values are different on development workstations, QA machines, and production servers. Now, if there is a single configuration file which is somewhere inside the WAR file, then upon deployment, it will be overwritten, thus losing all local-machine settings. Furthermore, upgrading to a new version of the application should not be related to the configuration settings of the machine.
AFAIK the JEE standard does not state how this should be handled, nor is there a mechanism for this.
I'd be happy to hear how people deal with this issue.
I realize this is not a "spring-issue", in that it is not a result of using Spring. Nevertheless, since our architecture is based on Spring, I was wondering whether Spring offers a solution, or if there is at least an established best-practice or convention for dealing with this issue.